关于#docker#的问题,请各位专家解答!

Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 10.96.0.10:53: server misbehaving

具体报错截图什么样,兄弟

  • 你看下这篇博客吧, 应该有用👉 :docker下载镜像报错: Get https://registry-1.docker.io/v2/
  • 除此之外, 这篇博客: Docker 原生registry(私有仓库)中的 1. registry部署 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 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
    
  • 以下回答由chatgpt基于相关博客总结生成:

    根据参考资料中的内容和您的描述,这个问题可能与网络连接问题有关。请尝试以下步骤来解决这个问题:

    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 registry下载镜像,尝试从私有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服务即可