Docker 部署SpringBoot 项目 如何替换jar、配置文件、依赖lib包

942 阅读1分钟

Docker 部署SpringBoot 项目 如何替换jar、配置文件、依赖lib包

docker 安装和基本使用,自行了解,主要记录介绍一下,springboot 项目通过Docker 部署,如何挂载,jar包、配置文件、依赖包。

项目目录

image-20220211110444150.png

打包Springboot项目

打包Springboot项目,把生成的jar、config、lib、resoucre等文件上传到服务器/usr/soft/demo。

image-20220211134147992.png

Dockerfile 文件

#使用基础镜像
FROM java:8
# 把主机文件copy到容器工作目录。
COPY ./config /home/demo/config
COPY ./lib /home/demo/lib
COPY ./resources /home/demo/resources

#暴露端口
EXPOSE 7777
# 容器启动时执行启动应用的脚本
CMD ["sh","-c","/home/demo/startup.sh"]

上传dockerfile 到服务器:/usr/soft/demo

image-20220211135131323.png

创建启动脚本

创建应用启动脚本startup.sh 文件。

java -Dfile.encoding=utf-8 -Dspring.config.location=/home/demo/config/application.yml -Djava.security.egd=file:/dev/./urandom -jar /home/demo/app.jar

将startup.sh 文件上传到服务器/usr/soft/demo 项目文件所在目录

image-20220211134733288.png

添加脚本执行权限

chmod +x startup.sh

创建镜像

在服务器/usr/soft/demo目录下,执行

docker build -f ./Dockerfile . -t 镜像名称:版本号 

启动容器

docker run -d --name demoapp -p 7777:7777 -v /usr/soft/demo:/home/demo demo-app:1.0

image-20220211140020411.png

  1. -p : 暴露应用的端口。
  2. -v : 把服务器主机应用的工作目录映射到容器的工作目录,后面变更配置等操作时,只需要根据主机目录中的文件,然后重启容器即可生效。
  3. 当jar包发生变动时,直接更新宿主机目录下的jar包即可。即使jar包名字发生变化,也需要再更新一下startup.sh脚本。更新之后重启容器.

Web查看效果

image-20220211140049166.png