gpt4 book ai didi

docker-compose down --rmi 所有容器共享镜像

转载 作者:行者123 更新时间:2023-12-02 07:08:55 26 4
gpt4 key购买 nike

我有一个 docker compose 文件,它使用存储在其中的 Dockerfile 构建一些服务,该 compose 看起来像这样

version: '3.5'

services:

my_app:
build: ""
image: my_image
....
...

my_two:
image: my_image
...

my_three:
image: my_mage
...

现在,当我运行 docker-compose up 时,会生成镜像(build: "" 找到 Dockerfile 并构建它并将其命名为“my_image”)然后另外两个(my_twomy_ Three)正在使用已经构建的图像。

到目前为止一切顺利。

问题是,当我运行 docker-compose down --rmi all 时,它成功删除了 my_image 但随后重试两次以再次删除图像,因为它们是与其他服务相关联。

该操作执行其需要执行的操作,停止并删除所有容器并删除图像,但问题是它显示错误消息 - 我想避免这种情况,因为我正在围绕它包装一些软件。

如何让docker-compose仅删除一次图像?

最佳答案

使用build而不是image来定义所有三个服务可能更容易。

当你运行docker-compose up时,它会首先构建第一个服务,即该位不变。发生的变化是,它随后构建了第二个和第三个服务 - 但它将能够重用初始构建中的缓存层,因此您实际上最终会得到一个带有三个不同标签的图像。

然后,当您删除图像时,docker-compose down --rmi local 可以依次安全地删除每个“图像”:第一次它实际上只是取消标记它,同上第二次,第三次将真正删除图像。

关于docker-compose down --rmi 所有容器共享镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52220807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com