1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Docker-compose spring boot】一键打包布署 同时拆分jar包配置文件实践

【Docker-compose spring boot】一键打包布署 同时拆分jar包配置文件实践

时间:2023-02-13 05:17:15

相关推荐

【Docker-compose spring boot】一键打包布署 同时拆分jar包配置文件实践

需求:将原来的单个docker ssh脚本打包,手动启动,改成使用docker-compose脚本一键打包布署。

缺点:docker-compose down 无法删除镜像,导致后续启动没注意就启动了旧镜像,被坑了几次,后面知道加 docker-compose up --build 重新打包覆盖镜像。

还不会装docker-compose的看这docker-compose入门教程

如下是我一次性部署启动前后端三个docker包的脚本文件路径

.├── build-img-backend.sh├── build-img-mobile.sh├── build-img-pc.sh├── docker-compose.yml├── java│ ├── Dockerfile│ └── wjjbgs-1.0-SNAPSHOT.jar| └── application-dev.yml| └── application-prod.yml├── jbgs_backend_1.0.1.tar├── mobile│ ├── dist│ │ ├── css│ │ ├── imgs│ │ ├── index.html│ │ ├── js│ │ └── static│ ├── docker│ │ ├── default.conf│ │ └── nginx.conf│ └── Dockerfile└── pc├── dist│ ├── css│ ├── imgs│ ├── index.html│ ├── js│ └── static├── docker│ ├── default.conf│ └── nginx.conf└── Dockerfile

其中ssh 是单个打包的脚本此篇跳过

docker-compose.yml

#使用的打包版本,写1的话基本会报错version: "3.0"services:#服务名自己定mobile:#放置docker打包文件的相对docker-compose.yml的路径build: ./mobile#自定义打包的镜像名image: "jbgs_mobile:1.0.8"#无所谓的配置项restart: always#镜像打出来的容器开的端口expose:- "7777"#容器到宿主机的端口映射ports:#- "8011:7777"- "8999:7777"pc:build: ./pcimage: "jbgs_pc:1.0.8"restart: alwaysexpose:- "7777"ports:#- "8012:7777"- "9000:7777"java:build: ./javaimage: "jbgs_backend:1.0.8"restart: alwaysexpose:#- "8081"- "8080"ports:#- "8013:8081"- "8888:8080"#这个是对应Dockerfile 里的EntryPoint 相当于接在后面的命令command: ['-Xms4000m','-Xmx4000m','wjjbgs-1.0-SNAPSHOT.jar']#这个是宿主机存储空间与容器存储空间的映射,方便修改配置文件volumes:- ./java/application-dev.yml:/root/application-dev.yml#将springboot的启动项提出来,方便选择配置,要想生效需要注意在main方法里加上argsenvironment:- "spring.profiles.active=dev"

前端包pc|mobile

和入门教程的dockerFile不同的只是把Expose拿到docker-compose.yml中不在赘述了。

其它的nginx配置也不赘述了

后端包

打完jar包后,通过压缩软件把里面的application-dev.ymlapplication-prod.yml删掉后放外面。

注意要想environment里的配置生效需要修改Applicaton.java如下,args不能漏

public class Application {public static void main(String[] args) {SpringApplication.run(Application.class,args);}}

Dockerfile

# Citybrain APP Dockerfile# Version 1.0# Base images »ù´¡¾µÏñFROM openjdk:8-alpine#LABEL ά»¤ÕßÐÅÏ¢LABEL *** jbgs#ENV ±äÁ¿ENV TZ='Asia/Shanghai'#ENV DATA_API_ADDRESS="http://172.18.109.233"ENV APP_LOG_PATH=/citybrain/cockpit-back/logs#RUNRUN mkdir -p ${APP_LOG_PATH}#COPYCOPY ./wjjbgs-1.0-SNAPSHOT.jar /root#ENTRYPOINT Æô¶¯ÃüÁîWORKDIR /rootENTRYPOINT ["java" ,"-jar"]

ok,完工,目录可参照最上面发的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。