Spring boot 打包成docker image 镜像
1.当前目录
[root@big project]# ll
total 164416
drwxr-xr-x 5 root root 4096 Jul 20 22:47 dist
drwxr-xr-x 5 root root 4096 Jul 20 22:28 dist-test
-rwxrwxrwx 1 root root 495 Jul 30 14:50 dockerfile
-rw-r--r-- 1 root root 13593 Jul 30 09:51 log.log
-rw-r--r-- 1 root root 84158304 Jul 30 14:28 ruoyi-adminbak.jar
-rw-r--r-- 1 root root 84158304 Jul 20 20:46 ruoyi-admin.jar
-rwxrwxrwx 1 root root 1681 Jul 20 16:22 ry.sh
drwxr-xr-x 4 root root 4096 Jul 25 22:37 search-info
2.dockerfile 文件内容
# 基础镜像选择(轻量级JDK8环境)
FROM openjdk:8-jdk-alpine# 设置工作目录# 拷贝JAR文件(支持通配符)
COPY ruoyi-admin.jar app.jar# 时区配置(解决容器时间不一致问题)
#RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone# 暴露应用端口
EXPOSE 8080# 启动命令(推荐exec格式)
ENTRYPOINT ["java","-jar","app.jar"]
3. docker 执行命令
docker build -f dockerfile -t myjavaapp:v1.0 .
4.执行结果
[root@big project]# docker build -f dockerfile -t myjavaapp:v1.0 .
[+] Building 42.7s (8/8) FINISHED docker:default=> [internal] load build definition from dockerfile 0.0s=> => transferring dockerfile: 534B 0.0s=> [internal] load metadata for docker.io/library/openjdk:8-jdk-alpine 0.1s=> [internal] load .dockerignore 0.0s=> => transferring context: 2B 0.0s=> [internal] load build context 0.7s=> => transferring context: 84.17MB 0.7s=> [1/3] FROM docker.io/library/openjdk:8-jdk-alpine@sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3 41.7s=> => resolve docker.io/library/openjdk:8-jdk-alpine@sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3 0.0s=> => sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3 1.64kB / 1.64kB 0.0s=> => sha256:44b3cea369c947527e266275cee85c71a81f20fc5076f6ebb5a13f19015dce71 947B / 947B 0.0s=> => sha256:a3562aa0b991a80cfe8172847c8be6dbf6e46340b759c2b782f8b8be45342717 3.40kB / 3.40kB 0.0s=> => sha256:e7c96db7181be991f19a9fb6975cdbbd73c65f4a2681348e63a141a2192a5f10 2.76MB / 2.76MB 1.3s=> => sha256:f910a506b6cb1dbec766725d70356f695ae2bf2bea6224dbe8c7c6ad4f3664a2 238B / 238B 0.3s=> => sha256:c2274a1a0e2786ee9101b08f76111f9ab8019e368dce1e325d3c284a0ca33397 70.73MB / 70.73MB 40.1s=> => extracting sha256:e7c96db7181be991f19a9fb6975cdbbd73c65f4a2681348e63a141a2192a5f10 0.1s=> => extracting sha256:f910a506b6cb1dbec766725d70356f695ae2bf2bea6224dbe8c7c6ad4f3664a2 0.0s=> => extracting sha256:c2274a1a0e2786ee9101b08f76111f9ab8019e368dce1e325d3c284a0ca33397 1.4s=> [2/3] COPY ruoyi-admin.jar app.jar 0.1s=> [3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone 0.2s=> exporting to image 0.4s=> => exporting layers 0.4s=> => writing image sha256:cc5fd9fec7e0bc1bfe8e89c2db8f04517339699d3ee43de582f2c0241f22a79c 0.0s=> => naming to docker.io/library/myjavaapp:v1.0
6.查看
[root@big project]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myjavaapp v1.0 cc5fd9fec7e0 24 seconds ago 189MB