1. Dockerfile编写
    以SpringBoot项目为例,Dockerfile内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    FROM openjdk:8-jdk-alpine
    VOLUME /tmp
    ADD spi_task-1.0-SNAPSHOT.jar app.jar

    RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    RUN echo 'Asia/Shanghai' >/etc/timezone

    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  2. 代码解析

1
FROM openjdk:8-jdk-alpine

​ 指定运行基础镜像为JDK8

1
VOLUME /tmp

​ 挂着路径为/tmp

1
ADD spi_task-1.0-SNAPSHOT.jar app.jar

指定上传jar包并命名为app.jar,若直接写jar包名必须将jar包放在与Dockerfile文件同一目录下。

1
2
3
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN echo 'Asia/Shanghai' >/etc/timezone

更改时区不指定会默认使用国外时区导致日志记录时间不正确

1
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

运行jar包命令

  1. 构建镜像命令
    进入Dockerfile目录下,执行以下命令

    1
    docker build -t [镜像名] .
  2. 运行镜像

    1
    docker run -d --name spi_task -v /home/SpiTaskLogs:/logs -p 8081:8080 --restart=always spi_task:v1.0.1