docker内容器与宿主机相同网段互通的解决方案

这几天配docker,解决容器和宿主机处于同一网段且互通的问题,找遍全网,没有看到合适的解决方案,大部分都是粘贴,从个别同学那得到了一些启示

终于完美解决

现记录下来,给日后需要的同学一个完整的借鉴,让大家少走弯路(老实说,很不喜欢操作配置,浪费时间。。。。)

配置情况:

windows上vmware,装centos7, docker运行在centos7上

几个关键点如下:

1)centos7网卡(ens33)设置混杂模式

ip link set ens33 promisc on  //注意:此处ens33为我的centos下的网卡名称,您的网卡名称需要具体查询一下,命令:ip addr

 

 

第二步:创建macvlan网络

docker network create -d macvlan --subnet=192.168.1.0/24 --ip-range=192.168.1.0/24 -o macvlan_mode=bridge -o parent=ens33 macvlan

 

创建成功,可以查询,命令:docker network ps

图内第三行,macvlan就是刚创建的(其他三个为 docker预定义的,不可删除,也删不掉)

 

 

第三步:创建容器并启动 docker run -itd --network=mymacvlan --ip=192.168.1.44 --name=test20centos1013 centos

 

 

第四步:进入容器,验证

docker exec -it test20centos1013 /bin/bash

 

1.5为我的windows ip

windows端测试:

 

 

 

小坑注意:如果第4步Ping不通,可以去查一下window主机的防火墙(关闭)。

 

 

对于集中测试就方便多了。

完美。

 

posted @ 2020-10-13 23:36  小侬  阅读(5764)  评论(2编辑  收藏  举报