【Docker换源】配置国内镜像源以解决拉取镜像失败

三葉Leaves Author

我在我的群晖NAS上使用docker时遇到了这个问题
由于docker hub被墙,使用

1
docker pull 你需要的服务名称

拉取镜像失败,报错dial tcp ...:443: i/o timeout或者error pulling image configuration
有两种解决办法:

  1. 让你的群晖NAS科学上网,一劳永逸
  2. 使用代理镜像源。步骤如下

无UI的终端环境:

编辑docker镜像源的配置文件

1
sudo vi /etc/docker/daemon.json

有时你会发现文件并不存在,这可能是因为你是基于snap安装的docker,那么此时,它的配置文件位置应该如下

1
sudo vi /var/snap/docker/current/config/daemon.json

无论怎样,打开配置文件后,就可以往里面添加新源了:

1
2
3
4
5
6
7
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://dockerpull.com",
"https://dockerproxy.cn"
]
}

由于众所周知的长城防火墙(GFW)的原因,源随时有可能被墙。如果源失效,请自行搜索新源。

可以使用以下命令验证是否替换成功:

1
docker info

有时候docker并没有从镜像拉取,那你可以手动指定:

1
docker pull dockerproxy.cn/original-repo

以上命令就使用注册表镜像dockerproxy.cn拉取服务original-repo


有UI环境:在docker注册表设置页面替换镜像源



添加一个国内可用的注册表镜像URL然后点确认。我这里用的是

1
https://docker.1panel.live

其他的一些可能可用的镜像URL:

1
2
3
4
5
6
7
https://dockerpull.com 
https://dockerproxy.cn
https://docker.hpcloud.cloud
https://registry.docker-cn.com
https://docker.mirrors.ustc.edu.cn
https://hub-mirror.c.163.com
https://mirror.baidubce.com

可以使用以下命令验证是否替换成功:

1
docker info

值得一提的是,有时docker serach仍然不可用,但docker pull其实是可用的。所以我们挂好科学上网工具,去docker hub官网搜索想用的镜像名称,然后仅仅用docker pull拉取即可

  • 标题: 【Docker换源】配置国内镜像源以解决拉取镜像失败
  • 作者: 三葉Leaves
  • 创建于 : 2024-11-07 00:00:00
  • 更新于 : 2024-11-23 17:56:30
  • 链接: https://leavesblog.netlify.app/81f9f811eb6c/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论