Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 10.96.0.10:53: server misbehaving
具体报错截图什么样,兄弟
0. 导入镜像
[root@docker01 ~]# docker load -i registry.tar.gz
1.启动容器:
[root@docker01 ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry:latest
2.上传镜像到私有仓库: [docker02]
a:给镜像打标签 docker tag centos6-sshd:v3 10.0.0.11:5000/centos6-sshd:v3
b:上传镜像 docker push 10.0.0.11:5000/centos6-sshd:v3
如果遇到报错:
The push refers to repository [10.0.0.11:5000/centos6.9_ssh]
Get https://10.0.0.11:5000/v2/: http: server gave HTTP response to HTTPS client
解决方法:
[root@docker02 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["10.0.0.11:5000"]
}
[root@docker02 ~]# docker push 10.0.0.11:5000/nginx:latest
The push refers to repository [10.0.0.11:5000/nginx]
e8dc1aeb3107: Pushed
b5e11aae8a8e: Pushed
latest: digest: sha256:1f0135c62f2521cbc0426ffad0d8e7e85be116d34cff774ff824bb922171cd0f size: 741
docker01===》启动registry容器---->
[root@docker01 opt]# rm -rf /opt/myregistry/ 清理缓存
docker02===》push镜像到docker01--->前提需要配置/etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["10.0.0.11:5000"]
}
docker02清理缓存
systemctl stop docker
[root@docker02 docker]# rm -rf /var/lib/docker/*
systemctl restart docker
从内网pull镜像
[root@docker02 ~]# docker pull 10.0.0.11:5000/centos:6.9
根据参考资料中的内容和您的描述,这个问题可能与网络连接问题有关。请尝试以下步骤来解决这个问题:
1.检查你的网络连接。尝试使用ping命令测试"registry-1.docker.io"的连接。如果ping成功并且没有丢包,则网络连接可能没有问题。如果连接不成功,则需要解决网络连接问题。
2.尝试使用curl命令测试registry API。输入以下命令:
curl https://registry-1.docker.io/v2/
如果能够访问,您应该能够看到一些json格式的文本。
如果无法访问,请检查您的代理设置。在某些情况下,需要配置docker代理才能访问docker registry。
3.如果仍然无法访问docker registry,请执行以下操作:
检查您的docker镜像列表(使用"docker images"命令)。如果列出了一些镜像,则可能是因为您的docker cache中已经有这些镜像。尝试清除docker cache(使用"docker rmi"命令)并重新下载镜像。
如果您能够访问docker registry,但是下载镜像时遇到了问题,请尝试在从docker registry下载镜像前,使用"docker login"命令登录到该registry。输入以下命令:
docker login -u username -p password registry-1.docker.io
请注意替换username和password为您在docker registry注册时使用的用户名和密码。
参考资料: Docker Private registry CentOS7下部署: https://www.cnblogs.com/nulige/p/9258922.html
这个问题是因为,这个默认的镜像地址在国内无法访问,我建议你修改一下镜像地址
vim /etc/docker/daemon.json
把下面的这些内容复制进去,或者使用其他的国内docker镜像地址,
如果你是个菜鸟,连vim 命令都不会的话,可以把这个aemon.json 下载本地再上传上去
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
操作完上面的步骤后,重启一下docker服务即可