VMWare 虚拟化 Ubuntu 64 (16.04)-- docker 无法链接 pull 镜像 ?(solved)
2024-10-18 18:29:42
背景
根据项目的需要,虚拟化一个Ubuntu OS 来玩 docker,虚拟机选择的是WMWare (VMware-player-14.0.0-6661328); Ubuntu的镜像来自于官网(ubuntu-16.04.3-desktop-amd64.iso)。
期初做这个WM的时候是在Win7 Professonal 64 完成的,做完之后在Windows 2012 server 上面运行,VM一切正常(包括使用docker pull 镜像)。
后来,又在一台Win10 home 版的机器上部署虚拟机,发现部署完成之后docker 不能 pull 镜像,报错如下:
$ docker pull mysql
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)
解决方法
网上搜索了一大堆,解决问题的方案都是分为两派:
1. “添加国内镜像仓库”,例如ali-cloud, dao-cloud, 等等。。。
2. 查看防火墙,关闭防火墙。
经过分析,以及不断地尝试,首先排除防火墙的问题。此外,“添加国内镜像的方法”也只是一个替代方案,没有从根本上解决问题。 整理思路之后,尝试着在WMWare的网络设置上试试看:
查看WmWare的网络设置,默认情况下是NAT,如图所示:
在NAT的模式下,尝试pull一个mysql的镜像,报错如下:
试着修改WMWare网络的网络设置为“bridge”:
再次运行pull命令, where amazing happened!!!
总结
其实,我们只是将WMWare的网络设置从 “NAT” 修改成为 “Bridge”, 然后就OK了。具体的原理和原因我也无从查证,希望有大神能有指点指点。
虽然折腾的有点晚了,不过还是解决了问题 :)
感谢大家的观看,如果知道原因的也请留言,一起讨论!! Thanks
最新文章
- JSP和Servlet的中文乱码处理
- Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例
- oracle增量备份
- oracle 11g 如何创建、修改、删除list-list组合分区
- Visualize real-time data streams with Gnuplot
- android知识体系
- 用 Freemarker 生成 word 文档(包含图片)
- HDU 5818:Joint Stacks(stack + deque)
- ftp服务的搭建及调用
- 51nod 1413 权势二进制 背包dp
- [pjsip]Pjlib中配置文件config.h解析
- 管理Activity
- Unity3d之UGUI- Image拦截Button响应事件
- 一、Python介绍
- python开发购物车
- ubuntu 16.04 安装中文语言包
- git 第一次提交代码
- linux 图形化与命令模式切换
- CRM项目再分析建表
- How to convert a byte to its binary string representation