一、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 测试