问题:在docker build阶段发现镜像拉取不成功,但是通过ping和curl都能通,测试了一下直接 docker pull mysql 以及其他常用镜像都无法成功。

于是修改/etc/docker/daemon.json的registry-mirrors

{
  "registry-mirrors": [
	"https://et65ei2t.mirror.aliyuncs.com",
	"http://docker.registry.cyou",
    "http://dhub.kubesre.xyz",
    "https://dockerpull.com",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://dockerhub.icu",
    "https://hub.rat.dev",
    "https://docker.1panel.live",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "insecure-registries": ["211.65.102.40:5000","211.65.102.40:5001","10.2.0.120:5000"]
}

成功后通过如下命令重启docker以让配置生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

通过如下命令查看镜像源是否更新成功:

docker info | grep "Registry Mirrors"

发现根本没有输出或者还是旧的镜像源。

这是因为:有时候docker服务不光有docker.service,停止掉docker.service之后还能通过docker.socket运行,因此需要彻底停止然后重启:

sudo systemctl stop docker.service
sudo systemctl stop docker.socket

停止之后查看docker状态:确保是不运行的状态

sudo systemctl status docker

然后重启docker

sudo systemctl start docker

查看是否配置成功:

docker info | grep "Registry Mirrors"

就可以显示出新配制的镜像源了。拉取一个镜像测试一下:

docker pull nginx

后面就可以正常构建项目,可以拉取成功了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐