您的位置:首页 > 运维架构 > Docker

vmware中使用net方式配置docker静态ip

2016-06-26 15:19 615 查看
1配置vmware中nat方式上网:

2.虚拟机中安装centos7,假设通过net方式上网获得的ip为192.168.146.128

3.安装docker,省略

4.启动一个容器:

docker run -idt --name=slave1 --net=none --privileged ubantu:v0.0.1



5.使用pipework,创建虚拟网桥,并且设置ip和指定网关:

pipework安装的过程省略:

pipework br0 slave1 192.168.146.141/24@192.168.146.140



注意:pipework会自动创建网关,但创建完成网关之后,并没有为网关分配ip:

为网关指定ip:

[root@localhost ~]# ifconfig br0 192.168.146.140

配置完成之后。ping测试:

宿主机ping容器:



容器ping主机:

[root@localhost ~]# docker exec -it slave1 /bin/bash



6.容器不能ping通外网:

由于使用了桥接的使用方式,需要查看防火墙中是否有指定的nat转发规则:

首先我们从容器ping一下外网:



不能ping通外网:

查看防火墙中nat表的转发规则:

iptables -t nat -vnL POSTROUTING --line-number



没有192.168网段的转发规则,

插入一条规则:

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.146.140/16 ! -o br0 -j MASQUERADE

再次查看规则:



再次ping外网:



发现一个奇怪的问题。即使宿主机的防火墙关闭状态,容器ping通外网任然存在问题,

7.主机ping虚拟机中的容器:

将net方式上网的网卡添加到虚拟网桥中:

brctl addif br0 eno50332208,

再次从主机ping虚拟机:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: