我的情况是我有两个具有相同标签的图像(哈希不同),一个在本地,另一个在注册表。当我构建dockerfile时,docker总是比较两个镜像的哈希值发现不相等,然后将注册表取一。
我知道在k8s中有一个imagePullPolicy
。我的问题是docker是否有类似imagePullPolicy
的设置?
非常感谢。
最佳答案
Docker工具大体上假设您将要手动拉取图像,或者提供了--pull
选项以将其与其他命令集成。例如:
docker build
具有--pull
选项,以尝试检索较新版本的FROM
图像docker run
不;它将始终重用您已有的图像,如果没有,请拉一张docker-compose
和 docker-compose up
都没有--pull
选项,但是有一个 docker-compose pull
命令可以拉出docker-compose.yml
文件docker-compose build
确实有--pull
选项核心Docker总是尝试拉取一个不存在的镜像。没有等效的
imagePullPolicy: Never
。相反,它从不尝试在显式的“拉”操作之外与镜像注册表进行通信。您也不能使docker run
像imagePullPolicy: Always
一样起作用。在Kubernetes中,每个构建使用唯一的标记是一个好习惯,因此您可以指定一个显式构建,而不必担心
imagePullPolicy
。如果执行此操作,在普通Docker中,隐式的“丢失时将其拉出”也将为您提供正确的行为。
关于docker - docker 拉图像策略/设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64493477/