Docker 部署SpringBoot 项目 如何替换jar、配置文件、依赖lib包
docker 安装和基本使用,自行了解,主要记录介绍一下,springboot 项目通过Docker 部署,如何挂载,jar包、配置文件、依赖包。
项目目录
打包Springboot项目
打包Springboot项目,把生成的jar、config、lib、resoucre等文件上传到服务器/usr/soft/demo。
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
创建启动脚本
创建应用启动脚本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 项目文件所在目录
添加脚本执行权限
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
- -p : 暴露应用的端口。
- -v : 把服务器主机应用的工作目录映射到容器的工作目录,后面变更配置等操作时,只需要根据主机目录中的文件,然后重启容器即可生效。
- 当jar包发生变动时,直接更新宿主机目录下的jar包即可。即使jar包名字发生变化,也需要再更新一下startup.sh脚本。更新之后重启容器.