当前位置: 首页 > 知识库问答 >
问题:

docker compose 怎么单独执行某一部分的命令?

徐欣德
2023-09-28

我现在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.2front-pc/ver-2-4-2的版本号,之后停止服务,重新启动。
重新启动的命令是:

cd /cnit-serv/test/docker-compose/docker compose downdocker 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
那我该怎么在不停止后台服务的情况下,重启前台呢?

共有1个答案

孔志强
2023-09-28

当然,看语法介绍

docker compose up [OPTIONS] [SERVICE...]docker compose down [OPTIONS] [SERVICES]

传完选项后,把服务名字传在后面即可。

  • docker compose up | Docker Docs
 类似资料:
  • 我想把这个页面顶部单独修改下颜色怎么设置?上面的本来是统一设置的。

  • telnet 6379命令是怎么执行的?

  • 本文向大家介绍怎么使一个命令在后台运行?相关面试题,主要包含被问及怎么使一个命令在后台运行?时的应答技巧和注意事项,需要的朋友参考一下 答案: 一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)

  • 本文向大家介绍怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?相关面试题,主要包含被问及怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?时的应答技巧和注意事项,需要的朋友参考一下 答案: 清屏: clear 退出当前命令: ctrl+c 彻底退出 执行睡眠 : ctrl+z 挂起当前进程 fg 恢复后台 查看当前用

  • 内置程序 open 顾名思义,open 是一个打开文件或目录的命令,当然也包括程序: 使用首选视频播放器打开 xxx.mp4:open xxx.mp4 打开主目录:open ~ 打开 Safari:open /Applications/Safari.app/ pbcopy 和 pbpaste pbcopy 和 pbpaste 是读取及写入系统剪贴板的命令,支持 Unix 管道操作,也就是说你可以

  • 假设这样一个简单的sh文件: 使用bash执行的时候,bash的词法分析、语法分析、以及执行过程是怎样的? 比如:b=${a:- ; 456}这一行,究竟拆分成几个单词?以及变量扩展后的执行过程? 关于bash分词、以及变量扩展的规则有一些困惑。多谢解答! 参考文章: bash手册中文版 Bash命令行处理 问题补充: 空格和分号均为bash元字符,那么在第一步分词阶段,b=${a:- ; 456