Have any Question?

***********

解决docker拉取不到latest标签最新版本的问题

问题描述

非阿里云ecs内网主机使用阿里云docker镜像加速时,使用docker pull <imagename>:latest拉取一个镜像的latest标签是不保证能获取最新版本的,很可能是几个月前甚至几年前的旧版,而且之后即使镜像仓库中有新版本更新,通过公网连接使用阿里云镜像加速的主机也获取不到最新版,除非机器是阿里云购买的云主机。

解决方法

1 去hub.docker.com查找带最新版本号的标签来替换latest,但是docker hub的标签检索功能十分不敢恭维,遇到自动化频繁更新的镜像下查找最新版本号时,就只能自求多福了。

2 使用@sha256方式拉取

拿minio镜像举个例子:

docker pull minio/minio:latest 获取的镜像日期和docker hub最新日期不一致时

可以在docker hub查看latest标签详情,如图

复制DIGEST处的哈希值 (注意:检查OS/ARCH处的值要和你的系统架构一致,这个镜像默认arm64架构,如果没看清在x86或者amd64架构的主机上拉取成功,到docker run时也会运行失败)

使用以下命令来拉取

docker pull minio/minio@sha256:06ea25f726956f5b99b3bab737fd44bcb765df33b471e11f141eea9ecbacb33a

拉取后使用以下命令修改标签

docker tag minio/minio@sha256:06ea25f726956f5b99b3bab737fd44bcb765df33b471e11f141eea9ecbacb33a minio/minio:latest

使用docker images查验版本日期是否和docker hub一致

之后可以使用最新版的minio/minio:latest

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注