问题描述
非阿里云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
了
发表回复