gpt4 book ai didi

docker run git checkout 不获取分支中的更改?

转载 作者:行者123 更新时间:2023-12-02 19:41:09 25 4
gpt4 key购买 nike

为什么RUN git checkout -b mybranch切换到分支,但内容仍然是从 master 获取的内容分支?

最佳答案

Docker 的全部意义在于它只重建图像中已更改的部分。它无法知道 repo 中的内容发生了变化,它所知道的只是 Dockerfile 中已经有一个用于此步骤的缓存图像“切片”。所以它使用它之前构建的图像。

正如 Mark 所说,您可以使用 --no-cache 强制重新生成。另一种选择是拥有一个始终使用 --no-cache 构建的源代码容器,您将卷添加到该容器中,然后通过不同容器中的这些卷使用该代码(查看 docker-compose 的“volumes from”)。然后,您总是可以在 repo 中获得更改,因为它每次都是从头开始构建的。您可能需要查看 'docker-compose' 来完成此类工作。

当您运行 docker build 时,请仔细查看输出。当它有一个步骤的缓存版本时,它会说很多。当它必须构建它时,它也会注意到这一点。

关于docker run git checkout 不获取分支中的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35653226/

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