ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

public-image-mirror 拉取镜像时如何选择 sha256 摘要、固定版本 tag 与 latest 引用方式

public-image-mirror 拉取镜像时如何选择 sha256 摘要、固定版本 tag 与 latest 引用方式 public-image-mirror 拉取镜像时如何选择 sha256 摘要、固定版本 tag 与 latest 引用方式【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror在 public-image-mirror 中拉取镜像时同一个镜像有三种引用写法sha256:摘要、明确版本号的 tag、以及latest这类可变 tag。三种写法在这套镜像服务上的同步与缓存行为不同直接影响你能否拉取到预期的镜像内容。项目 README 给出的建议优先级是建议优先使用sha256:指定镜像, 其次使用明确版本号的 tag, 最后才考虑 latest 这种可变 tag, 其变更后会响应旧数据, 并且后台重新同步下面先确定地址写法再给出三种引用形式的命令最后列出拉取后可能遇到的现象及其文档给出的原因。先选地址形式加前缀推荐与前缀替换拉取时要把镜像地址指向镜像服务。项目提供两种写法加前缀是推荐方式保留源站完整地址在前面加上m.daocloud.io/。README 中的映射示例如下docker.io/library/busybox | V m.daocloud.io/docker.io/library/busybox前缀替换不推荐把源站域名换成人工配置的镜像域名例如完整表见 README源站替换为备注docker.iodocker.m.daocloud.iogcr.iogcr.m.daocloud.ioregistry.k8s.iok8s.m.daocloud.iok8s.gcr.iok8s-gcr.m.daocloud.iok8s.gcr.io 已被迁移到 registry.k8s.io前缀替换的列表是人工配置的README 写明有需求提 Issue并且特别提醒这里每一个源站内容都是不同的不要把 docker.io 之外的站点配置给 docker 的registry-mirrors。三种引用形式怎么写进命令以下命令均为项目 README 中的示例或按 README 规则拼装。1.sha256:摘要第一优先文档只给出sha256:这一引用形式未列具体摘要值。由于所有 hash(sha256) 均和源保持一致 (懒加载机制)源站镜像的摘要通过镜像拉取时同样有效摘要值需要你从源站获取后填入# digest 替换为源镜像实际的 sha256 摘要值项目文档未提供具体值 docker pull m.daocloud.io/docker.io/library/nginxsha256:digest2. 固定版本 tag第二优先README 的 kind 加速示例就是一个带固定版本 tag 的镜像地址kind create cluster --name kind --image m.daocloud.io/docker.io/kindest/node:v1.22.1这里v1.22.1是明确版本号写法模式即m.daocloud.io/源站/镜像:版本号 tag。3. latest 等可变 tag最后才考虑项目的快速开始命令没有指定 tag属于可变 tag 这一档docker run -d -P m.daocloud.io/docker.io/library/nginx它是 README 给出的最小用法作为首次拉取没有问题但按建议优先级它排在最后长期复用或要求内容确定的场景应改用摘要或版本 tag。为什么摘要最稳、tag 次之、latest 最靠后README 给出的机制说明有三条本服务仅是源镜像仓库 (Registry) 的 Mirror所有 hash(sha256) 均和源保持一致懒加载机制Manifest 内存缓存 1 小时所以 tag 被更新了 1 小时之后才会同步新的latest 这类可变 tag 变更后会响应旧数据并且后台重新同步。也就是说按摘要引用时指向的内容与源站一致源站更新了可变 tag 之后由于 Manifest 缓存 1 小时最长 1 小时内镜像仍返回旧数据并会在后台重新同步。这就是 latest 档排在最后的原因。拉取后的现象与文档给出的原因现象文档说明的原因之前拉取过的镜像一段时间约 30 天后需要重新同步缓存的内容只保留 30 天, 过期后会需要重新同步源站已更新 tag但镜像仍返回旧内容Manifest 内存缓存 1 小时tag 更新 1 小时之后才会同步新的可变 tag 变更后会响应旧数据, 并且后台重新同步拉取报错 404Blob 内存缓存 1 分钟在期间如果 blob 到达 30 天期限被删除会导致报 404拉取任务的时间选择上README 建议将拉取任务放在闲时即北京时间 01-07 点其他时间段非常拥挤。项目另提供同步队列与服务状态监控入口见 README同步队列仅保留一小时的同步记录。边界与下一步以上三种引用形式的行为差异只与镜像服务的同步机制有关与镜像本身无关文档没有给出针对某一镜像的单独判定标准选择时按摘要 固定版本 tag 可变 tag的优先级即可。如果需要在内网环境中进一步缓存这些镜像、减少对外网依赖项目提供了独立的内网缓存部署方案见 docs/local-cache/README.md那是一个单独的部署任务不是本文引用方式选择的必要步骤。【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表