docker - docker 拉图像策略/设置

标签 docker

我的情况是我有两个具有相同标签的图像(哈希不同),一个在本地,另一个在注册表。当我构建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 runimagePullPolicy: Always一样起作用。
    在Kubernetes中,每个构建使用唯一的标记是一个好习惯,因此您可以指定一个显式构建,而不必担心imagePullPolicy。如果执行此操作,在普通Docker中,隐式的“丢失时将其拉出”也将为您提供正确的行为。

    关于docker - docker 拉图像策略/设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64493477/

    相关文章:

    python - django_crontab 不适用于生产 docker

    docker - 在docker-compose中混合使用GITLAB_OMNIBUS_CONFIG和常规Env val

    docker-compose.yml 容器名称和主机名

    security - 为什么 Docker Secrets 被认为是安全的?

    wordpress - 轻松移动环境:deploybot,docker还是手动grunt/gulp设置?

    java - 在docker上运行的Spring Boot Microservice无法连接到mysql

    docker - 使用卷挂载将文件从容器复制到本地

    docker - Hazelcast 分布式缓存是否适用于 Docker Swarm

    docker - 多个具有相同图像和内存使用情况的 docker 容器

    docker - 从另一个 docker 镜像构建 docker 镜像时覆盖卷