码迷,mamicode.com
首页 > 其他好文 > 详细

docker-配置网桥-自定义网络

时间:2018-07-29 00:47:24      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:str   class   ip route   gate   不同   netmask   centos7   exec   连接   

                      容器网络访问原理
? 桥接宿主机网络 临时生效: # 网桥名称 br_name=br0 # 添加网桥 brctl addbr $br_name # 给网桥设置IP ip addr add 192.168.1.120/24 dev $br_name # 删除已存在的eth0网卡配置 ip addr del 192.168.1.120/24 dev eth0 # 激活网桥 ip link set $br_name up # 添加eth0到网桥 brctl addif $br_name eth0 还需要在Docker启动时桥接这个网桥: vi /etc/default/docker DOCKER_OPTS="-b=br0" service docker restart 第四章 网络管理 永久生效: # vi /etc/network/interfaces auto eth0 iface eth0 inet static auto br0 iface br0 inet static address 192.168.1.120 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1 bridge_ports eth0 注意:以上配置是基于宿主机系统Ubuntu16.04,配置与CentOS7不同 讲

                         Docker配置固定IP(跟物理机同网段)

  这是一个脚本:改下相关配置就能用

C_ID=$(docker run -itd --net=none ubuntu)
C_PID=$(docker inspect -f ‘{{.State.Pid}}‘ $C_ID)
# 创建network namespace目录并将容器的network namespace软连接到此目录,以便ip netns命令读取
mkdir -p /var/run/netns
ln -s /proc/$C_PID/ns/net /var/run/netns/$C_PID
# 添加虚拟网卡veth+容器PID,类型是veth pair,名称是vp+容器PID
ip link add veth$C_PID type veth peer name vp$C_PID
# 添加虚拟网卡到br0网桥
brctl addif br0 veth$C_PID
# 激活虚拟网卡
ip link set veth$C_PID up
# 设置容器网络信息
IP=‘192.168.1.123/24‘
GW=‘192.168.1.1‘
# 给进程配置一个network namespace
ip link set vp$C_PID netns $C_PID
# 在容器进程里面设置网卡信息
ip netns exec $C_PID ip link set dev vp$C_PID name eth0
ip netns exec $C_PID ip link set eth0 up
ip netns exec $C_PID ip addr add $IP dev eth0
ip netns exec $C_PID ip route add default via 192.168.1.1

 

docker-配置网桥-自定义网络

标签:str   class   ip route   gate   不同   netmask   centos7   exec   连接   

原文地址:https://www.cnblogs.com/fuyuteng/p/9383966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!