在使用 docker-compose 运行的应用程序中,您如何将服务与其他图像交换?

问题描述

假设我有一个这样的 docker-compose.yml:

version: “3.8”

services:
  a:
    image: a
    build:
      context: .
      dockerfile: a/Dockerfile
  b:
    image: b
    build:
      context: .
      dockerfile: b/Dockerfile

当我运行 docker-compose build 时,将生成 a 和 b 的图像,当我运行 docker-compose up 时,a 和 b 的容器将作为我的应用程序的服务运行。

但是如果我想用 a 或 b 的另一个图像替换 a 或 b 怎么办?我可以在应用程序运行时执行此操作,还是必须重新配置 docker-compose.yml 并重新启动它?

解决方法

我认为可以在滚动更新的帮助下完成。有名为 update_configrollback_config 的选项应该可以帮助您交换服务