docker - docker pull 镜像策略/设置
问题描述
我的情况是我有两个具有相同标签(哈希不同)的图像,一个在本地,另一个在注册表。当我构建 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
选项
如果镜像不存在,Core Docker 总是尝试拉取镜像;没有等价于imagePullPolicy: Never
。相反,它从不尝试与显式“拉”操作之外的图像注册表进行通信。你也不能做出docker run
这样的举动imagePullPolicy: Always
。
在 Kubernetes 中,每个构建使用唯一标签是一种很好的做法,因此您可以指定显式构建,而不必担心imagePullPolicy
. 如果你这样做,在普通的 Docker 中,隐含的“如果丢失就拉”也会让你得到正确的行为。
推荐阅读
- symfony - Raspbian / Mercure - 绑定:权限被拒绝
- flutter - 构建 OutputPage(dirty, dependencies: [_ModalScopeStatus]): Unexpected null value
- python - pyqt5窗口全屏不显示边框
- git - 将 repo 迁移到 Git LFS,现在克隆速度要慢得多
- python - 用自定义功能替换模块的功能
- postgresql - PostgreSQL 安装程序的签名(sha1、sha256、MD5 等)
- html - 在图像前的中心位置显示文本
- jmeter - 如何在 Jmeter 结果 .xml 文件中包含端点?
- reactjs - 'key' 属性在非动态子组件中是如何工作的,为什么它对于渲染更新很重要?
- python-3.x - 如何使用 opencv 和 tkinter 在 Python 中创建两个独立的窗口?