先看报错问题:
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
我运行的命令是: sudo docker run hello-world 就是简单的拉取镜像然后运行镜像
问题出现之后:
我把问题定位到了 “网络”
然后我开始关注虚拟机的虚拟网络模式:
有三种:
一般来说 虚拟机会自动的选择桥接模式,此时你需要将他改成NAT模式 --》就是VMnet8
当你选择之后你需要确定一点,你需要看他的子网和网关是否对应你的宿主机
怎样看你的宿主机的网络信息呢?首先打开控制面板搜索网络和Internet根据以下路径去点击他的更改适配器设置 这个模块:
进去之后,跟着箭头操作:
我这边没有默认网关,好像是自动分配的,这里一般不会出问题,都是系统配置好的。
重要的一点是:你一定要是以一种net网络模式进去,如果不放心你可以选中你的创建的虚拟机 然后右键 设置:
进去之后你要先下载apt工具,下面是命令:
sudo apt install
有apt工具之后,下载文件编辑工具vim(我用的是这个):
sudo apt-get update
sudo apt-get install vim
之后要对两个地方的文件进行修改(前提是你已经把docker下载好了):
更换镜像源
1、.修改/etc/docker/daemon.json文件,没有的新建即可
sudo vim /etc/docker/daemon.json
2、添加如下配置
{
"registry-mirrors": [
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
3、重新加载配置文件
systemctl daemon-reload
4、重启docker服务
systemctl restart docker
镜像配置完之后,还有一个地方就是这个路径下的这个文件“ /etc/resolv.conf ”
如果不存在,则创建文件
sudo mkdir /etc/resolv.conf
并编辑添加以下内容:
sudo vim /etc/resolv.conf
添加内容:
nameserver 8.8.4.4
nameserver 8.8.8.8
添加成功后的内容是这样的:(看红框里面的内容就行)
就是这样。现在,您可以拉取 docker。
当然在这之前我也试过 通过网络代理的方式去解决这个问题,但最终我实在是不理解他的这个第四步代理的域名是怎么找到的 ,所以就不了了之了,如果你的问题还没有解决,你可是试试网络代理的方式(这里你可以看一下这位网友的文章):彻底解决docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 报错_docker 配置阿里镜像 request canceled-优快云博客
当然我上面解决这个问题的思路是来自这个网站的,你可以进行参考 :20.04 - docker:来自守护进程的错误响应:Get https://registry-1.docker.io/v2/:net/http:等待连接时请求已取消 - 询问 Ubuntu