Windows连接Linux虚拟机里面的Docker容器

--from https://www.cnblogs.com/niuben/p/11429298.html


一、Windows、Linux虚拟机、docker关系图

如果此时在Windows宿主机中pingDocker容器是ping不同的,因为在宿主机上没有通往172.17.0.0/24网络的路由,宿主机会将发往172.17.0.0/24网络的数据发往默认路由,这样就无法到达容器。

二、操作

2.1 关闭Linux中的防火墙

复制代码

[root@bigdata ~]# systemctl stop firewalld.service

2.2 在docker容器中安装并启用ssh服务

复制代码

[root@spark6 redis]# /usr/sbin/sshd -D &

 

2.3 Windows宿主机与虚拟机CentOS网络互通

可通过Xshell连接

2.4 虚拟机CentOS和Docker容器网络互通

在CentOS中可以通过docker exec -it <container_id> /bin/bash命令进入容器内部

2.5 在Windows中添加到docker容器网段的路由

复制代码

C:\WINDOWS\system32>route add 172.17.0.0 mask 255.255.255.0 192.168.123.110

该路由表示通往172.17.0.0/24网络的数据包通过192.168.123.110来转发。

2.6 测试

 

实际操作:


windows宿主机:

以太网适配器 VMware Network Adapter VMnet1:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::a020:3b24:5985:fe49%11
   IPv4 地址 . . . . . . . . . . . . : 192.168.29.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :

以太网适配器 VMware Network Adapter VMnet8:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::a049:a30b:d27e:dd0f%14
   IPv4 地址 . . . . . . . . . . . . : 192.168.227.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :

Ubuntu虚拟机:
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:2eff:fe77:650f  prefixlen 64  scopeid 0x20<link>
        ether 02:42:2e:77:65:0f  txqueuelen 0  (Ethernet)
        RX packets 14  bytes 85171 (85.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 49  bytes 6511 (6.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.227.128  netmask 255.255.255.0  broadcast 192.168.227.255
        inet6 fe80::20c:29ff:fe31:4076  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:31:40:76  txqueuelen 1000  (Ethernet)
        RX packets 93993  bytes 134827672 (134.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6169  bytes 593237 (593.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        

web server in docker : 172.17.0.2

windows cmd input: 

route add 172.17.0.0 mask 255.255.0.0 192.168.227.128

 

 

 

 

Logo

更多推荐