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/localtime
ENV TZ=Asia/Shanghai
RUN 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