目录
- 【问题】
- 【解决】
- 方案一:配置 Docker 镜像加速器
- 方案二:配置代理,拉取镜像
- 方案三:通过中介设备传送镜像
- 总结
【问题】
在 2024年6月,由于非常隐晦的原因,国内各大容器镜像服务提供方限制或关闭服务。这导致了在大陆的 IT 工程师拉取镜像时出现超时的情况,无疑对工作产生了很大的影响。
【解决】
方案一:配置 Docker 镜像加速器
针对 Docker 客户端版本大于 1.10.0 的用户 您可以通过修改 daemon 配置文件 来使用加速器: - 如果在拉取镜像时发现又超时了,可以尝试继续更换其他镜像加速器地址。
复制代码- 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-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/
复制代码
- docker load < mysql:8.0.33.tar
复制代码
总结
到此这篇关于Docker拉取容器镜像超时问题解决办法的文章就介绍到这了,更多相关Docker拉取容器镜像超时内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |