当我用docker network create 创建了一个网络后

[root@localhost ~]# docker network create kong-net
5c035564f9b4649b318b61697dad164f390d8b6a9a82e1819fdd5fe1d15481da
[root@localhost ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
9f8bb630299c bridge bridge local
eca5735d38ce host host local
5c035564f9b4 kong-net bridge local
3c00ca555c18 none null local

发现我的VM Ware虚拟机无法ping通宿主机的网络了,而且报出的错误也很奇怪

[root@localhost ~]# ping 172.17.68.9
PING 172.17.68.9 (172.17.68.9) 56(84) bytes of data.
From 172.17.0.1 icmp_seq=1 Destination Host Unreachable
From 172.17.0.1 icmp_seq=2 Destination Host Unreachable
From 172.17.0.1 icmp_seq=3 Destination Host Unreachable
From 172.17.0.1 icmp_seq=4 Destination Host Unreachable
^C
--- 172.17.68.9 ping statistics ---
7 packets transmitted, 0 received, +4 errors, 100% packet loss, time 6002ms
pipe 4

经过网上查询找到了表面的原因和解决办法。

原因是,路由中多了一个错误的路由,如下:

[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
10.0.233.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0
10.199.38.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-5c035564f9b4
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

其中172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-5c035564f9b4 不应该存在。删除该路由后网络正常

[root@localhost ~]# route del -net 172.17.0.0 netmask 255.255.0.0
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
10.0.233.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0
10.199.38.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@localhost ~]# ping 172.17.68.9
PING 172.17.68.9 (172.17.68.9) 56(84) bytes of data.
64 bytes from 172.17.68.9: icmp_seq=1 ttl=61 time=1.38 ms
64 bytes from 172.17.68.9: icmp_seq=2 ttl=61 time=1.40 ms
64 bytes from 172.17.68.9: icmp_seq=3 ttl=61 time=1.40 ms
^C
--- 172.17.68.9 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 1.388/1.397/1.402/0.006 ms

但是再次创建docker network时依然会出现此问题,到底是什么原因呢?

原因分析

在使用docker network 创建网络时,默认使用了网段为172.17.0.0中的ip地址,该网段与区域网中的网段重复了,导致了网络访问不通。

解决办法

在创建network时指定其他网段,如:

docker network create --subnet=10.199.0.0/16 kong-net

装有docker的虚拟机环境ping宿主机失败的更多相关文章

  1. docker swarm集群挂载宿主机目录

    创建DOCKER集群,挂载宿主机目录src:宿主机目录,dst:容器目录 docker service create --name testrd --detach=false --mount type ...

  2. [日常工作]vCenter下虚拟机设置与宿主机时间同步的方法

    1. ESXi 能够实现CPU超售 同事开启多与CPU个数的虚拟机 不通的虚拟机采用了时间分片的处理, 所以有时候虚拟机内的时间可能会比宿主机的时间过的更慢, 越来越久之后虚拟机的时间就会比较离谱了. ...

  3. Docker容器 - 容器时间跟宿主机时间同步

    在Docker容器创建好之后,可能会发现容器时间跟宿主机时间不一致,这就需要同步它们的时间,让容器时间跟宿主机时间保持一致. 转载自:https://www.cnblogs.com/kevingrac ...

  4. VMware虚拟机串口与宿主机进行传输验证

    一.验证目的 1.验证VMWARE虚拟机(Windows或Linux)上的程序,是否可以读取宿主服务器的物理串口中的数据. 二.验证过程 1.验证条件及工具, 宿主机:Windows 10 x64 V ...

  5. Docker - 查看容器进程在宿主机的 PID

    概述 查看 docker 进程, 在容器外的 pid 背景 docker 中运行的进程, 本质上是运行在 host 上的 这些进程, 在 host 上, 也可以有自己的 pid 如果某种情况下, 连不 ...

  6. Docker容器里时间与宿主机不同步

    docker容器里时间设置: 第一种: Dockerfile文件中添加一行:RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime或者 第二种: ...

  7. Linux虚拟机无法通过宿主机上网

    解决方法 1.Windows: 确保相关服务已经启动 2.Linux: 确保相关服务已经启动 1) 确认Linux的IP地址和Windows在同一个网段: 若Windows给虚拟机分配的IP地址如下: ...

  8. VMware虚拟机CentOS与宿主机共享目录

    正常情况下,在虚拟机CentOS中安装了vmware-tools后,配置完成共享目录,会自动在/mnt/hgfs下面出现共享目录. 如果该目录为空,并且通过命令:vmware-hgfsclient 的 ...

  9. Vmware Centos7 配置静态 ip 和 使宿主机和虚拟机互相 ping 通

    NAT 方式1. 配置静态 ipVmware 安装 Centos7 可以参考 https://blog.csdn.net/guo_ridgepole/article/details/78973763 ...

  10. VirtualBox实现宿主机和虚拟机之间网络的通讯

    摘要:实现宿主机和虚拟机之间网络的通讯 环境: 宿主机操作系统            WindowsXP 虚拟机软件                    VirtualBox 虚拟机操作系统     ...

随机推荐

  1. 【JDBC】自定义事务注解实现

    参考自: https://blog.csdn.net/qq_28986619/article/details/94451889 数据源选型,我采用的是C3P0,下面是需要的依赖: <?xml v ...

  2. 为什么我们需要不断的开发不同的机器学习模型 —— Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?

    引用: 作者:xyzh https://www.zhihu.com/question/26726794/answer/151282052 写给懒得看的人: 没有最好的分类器,只有最合适的分类器. 随机 ...

  3. 【转载】 tmux 向上向下翻页,翻屏

    作者:江河湖海洋链接:https://www.jianshu.com/p/8835f2d4245f来源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. =========== ...

  4. http与https通俗易懂的原理解析

    1.背景 经常都在说http.https,都知道https是安全的, 但是, 为什么说http不安全呢? 为什么又说https是安全的呢? 接下来我将使用通俗易懂的方式给大家分析一下....... 2 ...

  5. mongo变更流使用及windows下副本集五分钟搭建

    mongodb的变更流解释: 变更流(Change Streams)允许应用程序访问实时数据变更,从而避免事先手动追踪  oplog 的复杂性和风险.应用程序可使用变更流来订阅针对单个集合.数据库或整 ...

  6. 9组-Alpha冲刺-6/6

    一.基本情况 队名:不行就摆了吧 组长博客: https://www.cnblogs.com/Microsoft-hc/p/15546711.html 小组人数: 8 二.冲刺概况汇报 张伟鹏 过去两 ...

  7. canvas实现手动绘制矩形

    开场白 虽然在实际的开发中我们很少去绘制流程图 就算需要,我们也会通过第3方插件去实现 下面我们来简单实现流程图中很小的一部分 手动绘制矩形 绘制一个矩形的思路 我们这里绘制矩形 会使用到canvas ...

  8. 用whl文件安装Anaconda中的GDAL

      本文介绍在Anaconda环境下,基于.whl文件安装Python中高级地理数据处理库GDAL的方法.   在之前的文章中,我们介绍了基于conda install命令直接联网安装GDAL库的方法 ...

  9. JavaScript设计模式样例十八 —— 命令模式

    命令模式(Command Pattern) 定义:请求以命令的形式包裹在对象中,并传给调用对象.调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令.目的:将一个请求封装成 ...

  10. JavaScript设计模式样例十五 —— 状态模式

    状态模式(State Pattern) 定义:创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象.目的:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类 ...