当前位置: 代码网 > 服务器>服务器>云虚拟主机 > Docker拉取容器镜像超时的问题解决办法

Docker拉取容器镜像超时的问题解决办法

2025年02月13日 云虚拟主机 我要评论
【问题】在 2024年6月,由于非常隐晦的原因,国内各大容器镜像服务提供方限制或关闭服务。这导致了在大陆的 it 工程师拉取镜像时出现超时的情况,无疑对工作产生了很大的影响。【解决】方案一:配置 do

【问题】

在 2024年6月,由于非常隐晦的原因,国内各大容器镜像服务提供方限制或关闭服务。这导致了在大陆的 it 工程师拉取镜像时出现超时的情况,无疑对工作产生了很大的影响。

【解决】

方案一:配置 docker 镜像加速器

针对 docker 客户端版本大于 1.10.0 的用户 您可以通过修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器:

如果在拉取镜像时发现又超时了,可以尝试继续更换其他镜像加速器地址。

sudo vim /etc/docker/daemon.json

# 添加以下内容
{
	"registry-mirrors": [
	    "https://docker.1ms.run/", 
	    "https://hub.rat.dev/", 
	    "https://docker.1panel.live/", 
	    "https://docker.m.daocloud.io/"
	]
}

sudo systemctl daemon-reload
sudo systemctl restart docker

方案二:配置代理,拉取镜像

已经使用 docker 镜像加速器时,无需配置代理。

创建配置文件:

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

添加配置:

[service]
environment="http_proxy=socks5://user:pass@127.0.0.1:1080"
environment="https_proxy=socks5://user:pass@127.0.0.1:1080"

重启 docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

查看环境变量:

sudo systemctl show --property=environment docker

方案三:通过中介设备传送镜像

使用一台能够正常拉取 docker hub 镜像的设备,将镜像拉取到本地,然后传送到无法拉取镜像的设备上。
例如以下示例中规定:a 设备可以正常拉取 docker hub 镜像,b 设备无法拉取 docker hub 镜像。示例中将 mysql:8.0.33 镜像从 a 设备传送至 b 设备。

  • a 设备压缩镜像

在 a 设备中的 a-demo 目录下,将 mysql:8.0.33 镜像保存为 mysql:8.0.33.tar。压缩后的 tar 文件会被保存在执行命令的当前目录下:

docker save mysql:8.0.33 > mysql:8.0.33.tar

  • a 设备传送镜像至 b 设备的 /b-demo 目录下
sftp root@[ip]
put /users/hayden/desktop/a-demo/mysql:8.0.33.tar /b-demo/

  • b 设备加载镜像:
docker load < mysql:8.0.33.tar

总结

到此这篇关于docker拉取容器镜像超时问题解决办法的文章就介绍到这了,更多相关docker拉取容器镜像超时内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com