我现在docker-compose的yml大概是这样的:
version: "3.9"
services:
server-pc:
container_name: test-server-pc
image: "test-server-pc:2.4.2"
environment:
- TZ=Asia/Shanghai
restart: always
networks:
- 'cnit-net-main'
ports:
- '8080:8080'
volumes:
- "/cnit-serv/test/server-pc/apl-log:/apl-log"
- "/cnit-serv/test/server-pc/apl-configs:/apl-configs"
- "/cnit-serv/test/server-pc/apl-wx-pay-cert:/apl-wx-pay-cert"
- "/cnit-serv/test/server-pc/apl-public:/apl-public"
- "/cnit-serv/test/server-pc/apl-static:/apl-static"
- "/cnit-serv/test/server-pc/apl-ftl-templates:/apl-ftl-templates"
- "/cnit-serv/test/server-pc/apl-upload:/apl-upload"
- "/cnit-serv/test/server-pc/apl-webapp:/apl-webapp"
privileged: true
nginx:
container_name: cnit-nginx
image: "nginx"
environment:
- TZ=Asia/Shanghai
restart: always
networks:
- 'cnit-net-main'
ports:
- '80:80'
- '443:443'
volumes:
- "/cnit-serv/nginx/www/html:/usr/share/nginx/html"
- "/cnit-serv/nginx/config/certs/:/etc/nginx/certs"
- "/cnit-serv/nginx/config/nginx.conf:/etc/nginx/nginx.conf"
- "/cnit-serv/nginx/config/conf.d:/etc/nginx/conf.d"
- "/cnit-serv/nginx/logs:/var/log/nginx"
- "/cnit-serv/test/front-pc/ver-2-4-2/dist:/srv/test/pc-admin"
- "/cnit-serv/test/front-hp:/srv/test/www"
privileged: true
depends_on:
- "server-pc"
networks:
cnit-net-main:
external: true
简单来说呢,就是启动一个后台服务和一个前台服务。
我正常重启的流程是,发布新的代码后,修改test-server-pc:2.4.2
和front-pc/ver-2-4-2
的版本号,之后停止服务,重新启动。
重新启动的命令是:
cd /cnit-serv/test/docker-compose/
docker compose down
docker compose up -d
那我现在有一个问题就是,我只改了前台,我的后台并没有改动,所以我只想把前台从/cnit-serv/test/front-pc/ver-2-4-2/dist:/srv/test/pc-admin
变成/cnit-serv/test/front-pc/ver-2-4-3/dist:/srv/test/pc-admin
,
那我该怎么在不停止后台服务的情况下,重启前台呢?
当然,看语法介绍
传完选项后,把服务名字传在后面即可。