Docker compose up 不会使用更改后的镜像重新创建新容器

问题描述 投票:0回答:1

所以,假设我有一个由 5 个服务组成的 docker,其中一个是一个容器,可以用任何编程语言(在我的例子中是 c#)运行一些代码。我正在更改代码并执行

docker compose up --build -d
命令。据我的理解,如果其中一些图像发生变化(我更改了代码),它应该构建新图像,并将使用旧图像的容器替换为使用新图像的新容器。在这里,容器更换不起作用。 使用
docker compose up --build -d
命令后,我要么必须手动重新启动容器(不知何故,它现在开始使用新图像),要么使用
--force-recreate
选项,这在我的情况下不太可接受,因为其他图像没有更改,我不想重新启动它们容器。

我的 IDE 显示,默认情况下,如果映像或配置发生更改,docker compose up 会替换容器,但事实并非如此。

Docker 和 compose 版本

>docker --version
Docker version 27.2.0, build 3ab4256

>docker-compose --version
Docker Compose version v2.29.2-desktop.2
docker docker-compose
1个回答
0
投票

--watch / -w
标志可以满足您的需要:

查看源代码并在文件更新时重建/刷新容器。

尝试这样使用它

docker compose up --build -d --watch

© www.soinside.com 2019 - 2024. All rights reserved.