gpt4 book ai didi

docker - 如何有条件地拉取Docker镜像的最新标签,而不使用缓存的版本?

转载 作者:行者123 更新时间:2023-12-02 18:58:57 28 4
gpt4 key购买 nike

我的Dockerfile包含以下行:

COPY --from=whatwg/wattsi:latest /whatwg/wattsi/bin/wattsi /bin/wattsi

也就是说,它正在从Docker Hub上的 whatwg/wattsi镜像复制可执行文件。从本质上讲,这直接来自 multi-stage builds的文档。

但是,一旦我运行Dockerfile,它就会缓存 whatwg/wattsi:latest的本地副本。然后,将忽略推送到Docker Hub的 whatwg/wattsi的任何后续更新,并使用缓存的副本。 (也就是说,整个行都将被跳过,它创建的图层将被重用。)

我想要的行为是让Docker将远程 whatwg/wattsi:latest与本地缓存的副本进行比较,如果有差异,请重新下载。那可能吗?

我想做到这一点而无需将 whatwg/wattsi的版本硬编码到我的Dockerfile中,每次 whatwg/wattsi修订版时都需要对其进行更新。

最佳答案

docker build具有--pull选项,该选项将“始终尝试提取图像的较新版本”。

首次构建(未缓存任何内容)

Step 2/2 : COPY --from=whatwg/wattsi:latest /whatwg/wattsi/bin/wattsi /bin/watt
latest: Pulling from whatwg/wattsi
24f0c933cbef: Pull complete
69e2f037cdb3: Pull complete
4f7407c4e0dc: Pull complete
Digest: sha256:f555e4ff56b88313c7c47ca86b83367f9c1ca93552c477a96b9943e907bb7733
Status: Downloaded newer image for whatwg/wattsi:latest
---> 2ca5d7a1e784

第二次构建(使用缓存)
Step 2/2 : COPY --from=whatwg/wattsi:latest /whatwg/wattsi/bin/wattsi /bin/watt
---> Using cache
---> 2ca5d7a1e784

使用 --pull的第三个版本(检查更新)
Step 2/2 : COPY --from=whatwg/wattsi:latest /whatwg/wattsi/bin/wattsi /bin/watt
latest: Pulling from whatwg/wattsi
Digest: sha256:f555e4ff56b88313c7c47ca86b83367f9c1ca93552c477a96b9943e907bb7733
Status: Image is up to date for whatwg/wattsi:latest
---> 7d3390252ae1

关于docker - 如何有条件地拉取Docker镜像的最新标签,而不使用缓存的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62431812/

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