springboot项目打包部署到docker

springboot项目打成jar包部署到docker。

1. 编写Dockerfile 文件

FROM java:8
VOLUME /tmp
ADD swstd-admin.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

文件解释:
VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。该步骤是可选的,
如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
项目的 jar 文件作为 “app.jar” 添加到容器的
ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/urandom” 作为 Entropy Source

2. 把Dockerfile和ja包放在同一个目录

image.png

3. 执行build

docker build -t swstd .

4.编译好之后 run

docker run --name swstd -d -p 8097:8097 swstd

--name 指定镜像名称

5. 更新jar 之后 重新编译 ,先删除停掉的镜像容器

docker image prune -a

docker image prune -a -f   #-f强制,不需要确认

你可能感兴趣的:(springboot项目打包部署到docker)