非宿主机外部访问docker容器问题

时间:2022-07-28 15:06:55

非宿主机外部访问docker容器问题

6月19日沈阳源创会,期待您的报名参与>>> »  非宿主机外部访问docker容器问题

简单介绍一下我的环境:
1、docker宿主机(os:centos7, ip:192.168.0.100)

2、宿主机中用brctl新建一个虚拟网桥bridge0(brctl addbr bridge0),并分配IP为192.168.227.1
   (ifconfig bridge0 192.168.227.1 netmask 255.255.255.0)

3、然后docker容器以网桥方式用pipework挂到bridge0下:
     docker run -idt --privileged -h="h2" -p 80:80 --net=none --name h2 7322fbe74aa5 /sbin/init
     pipework bridge0 h2 192.168.227.2/ 24@192.168.227.1

综上所诉:宿主机和非宿主机都是192.168.0网段;而docker容器是192.168.227网段

现在的问题是:
我用一台非宿主机(os:win8, ip:192.168.0.101)试图连docker容器h2失败(ping 192.168.227.2 不通),而宿主机ping 192.168.227.1和192.168.227.2 都是能ping通的,在容器h2中ping这台win8机器也能ping通,而且能访问公网。要怎么设置才能让一台非宿主机在外部直接访问容器?比如用ssh直接从192.168.0.101登录到192.168.227.2中?