【记录】Docker|Docker镜像拉取超时的问题、推荐的解决办法及安全校验
我的系统版本:Ubuntu 24.04
行文时的Docker版本:Docker version 27.5.0, build a187fa5
文章目录
- 镜像拉取
- 核心问题
- 解决办法
- 一、(推荐)用加速源pull
- 过程
- 安全校验
- 进一步配置
- 二、(不推荐)修改配置
镜像拉取
众所周知,
没有镜像,
建不了docker。
核心问题
国内访问https://registry-1.docker.io/v2/
访问不了。
解决办法
一、(推荐)用加速源pull
换镜像配置,很麻烦。
要重启。
不好。
过程
网上随便找个可靠的加速源,
检索关键词“2025 docker 加速源”,
找一个最新的教程,例如下图:
用这里提到的镜像源列表,pull下来。
pull时的指令是:
sudo docker pull [加速源]/library/[docker镜像]
例如:
sudo docker pull docker.1panel.live/library/ubuntu:24.04
安全校验
为保证安全,可以校验一下pull的镜像是否和官方的一致。
运行下面这条指令,打印SHA256校验值:
sudo docker images --digests
与官方对比。例如Ubuntu24.04的Hub Docker查询链接是 Image Layer Details - ubuntu:24.04 | Docker Hub(需要上网),其SHA256是sha256:7c06e91f61fa88c08cc74f7e1b7c69ae24910d745357e0dfe1d2c0322aaf20f9:
而我拉取下来的第三方镜像的SHA256值是“sha256:7c06e91f61fa88c08cc74f7e1b7c69ae24910d745357e0dfe1d2c0322aaf20f9”:
可以看到,别无二致。
因此可用docker.1panel.live/library/ubuntu:24.04
作为ubuntu:24.04
的替代。
进一步配置
为了后续使用方便,最好是把repository改成docker hub中的,这样如果有其他用户尝试使用,他们就不用通过docker images去查名字了。修改方式:
- 首先,新建一个镜像tag:
docker tag [镜像ID] [新的REPOSITORY]:[新的tag]
- 其次,删掉原本的镜像:
docker rmi [旧的REPOSITORY]:[旧的tag]
二、(不推荐)修改配置
编辑(或新建)配置文件:
sudo vi /etc/docker/daemon.json
添加镜像源(如果是空白的就直接粘贴,如果不是空白的就参考格式粘贴相关内容)(注意:需要自己搜索查找当前可用的镜像源,不一定能直接用我贴在这里的这个):
{"registry-mirrors": ["https://docker.xuanyuan.me"]
}
重启docker服务配置和服务(对于部分服务器,需要重启):
sudo systemctl daemon-reload # 重新加载系统服务配置
sudo systemctl restart docker # 重启Docker
检查配置情况:
sudo docker info | grep -A 5 "Registry Mirrors"
如果显示确实替换了,就行了。
再次尝试拉取,如果可行,就行。
不推荐的原因是因为这个要重启docker,重启会导致很多docker服务关停,如果有其他用户用,就会出问题。
本账号所有文章均为原创,欢迎转载,请注明文章出处:https://shandianchengzi.blog.csdn.net/article/details/150638564。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。