1、确保Dockerfile 和项目的 JAR 文件都在同一个目录下,你可以使用以下 Dockerfile 来构建你的镜像:
2、Dockerfile文件的基本内容
# 使用基础镜像
FROM openjdk:8-jre-slim
# 设置工作目录
WORKDIR /app
# 复制项目的 JAR 文件到容器中
//xixishop-0.0.1-SNAPSHOT.jar是你的项目jar
COPY xixishop-0.0.1-SNAPSHOT.jar app.jar
# 暴露端口
EXPOSE 8080
# 定义容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "app.jar"]
3、确保这个 Dockerfile文件 与你的项目 JAR 文件在同一个目录下,且进入到该目录下的路径,然后运行以下命令构建镜像:
//进入 Dockerfile文件 与你的项目 JAR 文件在同一个目录下,这是我的目录
[root@luodada ~]# cd /E/Project
[root@luodada Project]# ls
Dockerfile xixishop-0.0.1-SNAPSHOT.jar
[root@luodada Project]# .
执行该命令将项目jar构建为容器镜像
//xixishop是构建项目的镜像名,你也可以起别的名称
docker build -t xixishop .
等待构建完成,构建完成的效果:
xixishop 已经在镜像列表中了
[root@luodada Project]# docker build -t xixishop .
[+] Building 15.4s (8/8) FINISHED docker:default
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 382B 0.0s
=> [internal] load metadata for docker.io/library/openjdk:8-jre-slim 15.4s
=> [1/3] FROM docker.io/library/openjdk:8-jre-slim@sha256:c425f12f339e3bb4675ea4b2fc67b6f0ad8d55f80efec91fbf5da7b21ae04b0b 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 108B 0.0s
=> CACHED [2/3] WORKDIR /app 0.0s
=> CACHED [3/3] COPY xixishop-0.0.1-SNAPSHOT.jar app.jar 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:9162c142be789b163c1ce870b7e33f51a06f712c874fa804c5ef0446ae5ee8a1 0.0s
=> => naming to docker.io/library/xixishop 0.0s
[root@luodada Project]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xixishop latest 9162c142be78 32 minutes ago 231MB
registry.cn-hangzhou.aliyuncs.com/luoxixi/mysql 5.7.30 9cfcce23593a 3 years ago 448MB
registry.cn-hangzhou.aliyuncs.com/luoxixi/tomcat 8 30ef4019761d 5 years ago 523MB
kdvolder/jdk8 latest b83ae7c076b1 5 years ago 488MB
[root@luodada Project]#