Dockerfile自定义SpringBoot项目镜像并运行
Dockerfile编写
以SpringBoot项目为例,Dockerfile内容如下:1
2
3
4
5
6
7
8FROM 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"]代码解析
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 | RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
更改时区不指定会默认使用国外时区导致日志记录时间不正确
1 | ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] |
运行jar包命令
构建镜像命令
进入Dockerfile目录下,执行以下命令1
docker build -t [镜像名] .
运行镜像
1
docker run -d --name spi_task -v /home/SpiTaskLogs:/logs -p 8081:8080 --restart=always spi_task:v1.0.1
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 🤖!