gpt4 book ai didi

docker - docker-compose之后,如何只构建/更新单个Docker镜像而不是所有服务?

转载 作者:行者123 更新时间:2023-12-02 21:13:55 29 4
gpt4 key购买 nike

我有一个docker-compose.yml文件,其中声明了一些服务。

当我键入docker-compose up时,它们全部开始。

现在,我只想修复其中之一。然后,我通常使用docker-compose down来停止其中的所有 。相反,我希望只删除需要修复的一项服务,对其进行修复(构建/编译/等),然后启动该单个Docker镜像。

所以有没有办法我可以做到这一点而不是做:

  • docker-compose down(所有服务停止)
  • 在我希望更新
  • 的服务中构建/编译代码
  • docker-compose up --build(所有服务compile / build / ...)
  • 最佳答案

    您重新构建图像并执行docker-compose up,它将自动检测图像是否已更新并重新创建服务。在运行来自该镜像的容器时,构建镜像的缺点是它将留下一个无镜像,因为docker不会删除该镜像。您可以通过以下任一命令预先从该镜像中删除容器来克服。

    docker rm -vf <container-name>
    docker rm -vr <container-id>

    如果这样做不方便,您可以在之后删除 none图片,
    docker rmi <image-id>

    另外,如果您悬挂了多个 none图片,则可以通过以下方式删除所有图片:
    docker images -q --filter "dangling=true" | xargs docker rmi -f

    关于docker - docker-compose之后,如何只构建/更新单个Docker镜像而不是所有服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52444713/

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