【问题标题】:Can we replace an image with docker-compose while container is running我们可以在容器运行时用 docker-compose 替换图像吗
【发布时间】:2021-01-26 12:34:06
【问题描述】:

我在一个微服务应用程序中工作,并且有多个服务。我正在使用 docker-compose 来运行不同微服务的实例。我们为每个微服务创建一个镜像。如果我更改微服务的代码,我使用“docker-compose down”,然后更改更新后的微服务的版本,然后使用“docker-compose up”。我认为,应该有一种方法可以在运行时更新图像,而无需使用“docker-compose down”和“docker-compose up”。

有没有办法用 docker-compose 替换正在运行的容器的图像?

【问题讨论】:

标签: docker docker-compose


【解决方案1】:

您可以跳过docker-compose down。 docker-compose up 命令将在镜像自上次启动后被构建或拉取时重新创建容器。请参阅this answer 了解更多详细信息和实际操作示例。

您不能从正在运行的容器中热交换图像。这相当于在 Linux 操作系统运行时更换根硬盘。它会破坏一些东西,尤其是任何带有打开文件句柄的东西。

【讨论】:

  • Kubernetes 可以做到,那么 Docker swarm 怎么样?
  • @jtlz2 Kubernetes 不这样做,它替换了容器,与 docker-compose 和 Swarm 模式相同。看看如何使用 ReplicaSet 和 Deployment 来执行滚动更新。
猜你喜欢
  • 1970-01-01
  • 2017-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
  • 2023-01-28
相关资源
最近更新 更多