1、修改了dns为google或者阿里云的
2、更改了/etc/docker/daemon.json,修改为国内镜像
但是还是会报错,请各位帮忙看看

1、修改了dns为google或者阿里云的
2、更改了/etc/docker/daemon.json,修改为国内镜像
但是还是会报错,请各位帮忙看看

下午好🌅🌅🌅
本答案参考通义千问
根据你的描述,尽管已经尝试了修改DNS和配置/etc/docker/daemon.json文件,但仍然默认访问https://registry-1.docker.io/v2/。这可能是由于以下原因导致的:
daemon.json文件格式不正确,导致Docker无法解析。daemon.json配置正确检查/etc/docker/daemon.json文件的内容是否正确。例如,以下是一个典型的国内镜像源配置:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
确保JSON格式没有语法错误,尤其是逗号和引号的使用。
修改配置后,必须重启Docker服务以使更改生效:
sudo systemctl restart docker
或者:
sudo service docker restart
确保你使用的Docker版本支持daemon.json配置。较旧版本可能不支持某些配置项。
如果之前已经拉取过镜像,可能会有缓存。可以尝试清除缓存:
sudo docker system prune -a
注意:此命令会删除所有未使用的镜像和容器。
运行以下命令查看Docker当前的配置是否包含新的镜像源:
cat /etc/docker/daemon.json
同时,可以通过以下命令测试Docker是否能够正确连接到国内镜像源:
sudo docker info | grep -i registry
你应该能看到类似以下输出:
Registry Mirrors:
https://docker.mirrors.ustc.edu.cn/
https://hub-mirror.c.163.com/
确保DNS设置生效并且网络可以正常访问国内镜像源。可以通过以下命令测试:
ping docker.mirrors.ustc.edu.cn
如果无法访问,可能需要检查本地网络配置或代理设置。
如果网络环境复杂,可以考虑使用代理。在daemon.json中添加http-proxy和https-proxy字段:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"http-proxy": "http://your-proxy-server:port",
"https-proxy": "https://your-proxy-server:port"
}
daemon.json示例以下是完整的daemon.json配置示例:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
按照以上步骤逐一排查问题,通常可以解决默认访问https://registry-1.docker.io/v2/的问题。如果仍有问题,请提供更多日志信息以便进一步分析。