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

docker 配置桥接网络

2016-03-22 09:57 531 查看
2.5 docker配置桥接网络(上):

为了使本地网络中的机器和Docker 容器更方便的通信,我们经常会有将Docker容器

配置到和主机同一网段的需求。 这个需求其实很容器实现, 我们只需要将Docker容器个I

和宿主机的网卡桥接起来,在给Docker容器配置IP就可以了。

docker:/root# /sbin/ifconfig -a
docker0   Link encap:Ethernet  HWaddr 82:1A:3F:70:76:A5
inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
inet6 addr: fe80::dcbe:d9ff:fe62:d7e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:7890 errors:0 dropped:0 overruns:0 frame:0
TX packets:9934 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:404433 (394.9 KiB)  TX bytes:46463810 (44.3 MiB)

eth2      Link encap:Ethernet  HWaddr 00:0C:29:6E:56:02
inet addr:192.168.32.151  Bcast:192.168.32.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe6e:5602/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:118661 errors:0 dropped:0 overruns:0 frame:0
TX packets:13615 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:83659673 (79.7 MiB)  TX bytes:1304647 (1.2 MiB)

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:200 (200.0 b)  TX bytes:200 (200.0 b)

veth02c9b44 Link encap:Ethernet  HWaddr DE:2C:35:EE:F2:46
inet6 addr: fe80::dc2c:35ff:feee:f246/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:2127 errors:0 dropped:0 overruns:0 frame:0
TX packets:2612 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:137978 (134.7 KiB)  TX bytes:10935963 (10.4 MiB)

veth5e18f22 Link encap:Ethernet  HWaddr 82:1A:3F:70:76:A5
inet6 addr: fe80::801a:3fff:fe70:76a5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:4798 errors:0 dropped:0 overruns:0 frame:0
TX packets:6392 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:317572 (310.1 KiB)  TX bytes:27126952 (25.8 MiB)

veth302ae23 Link encap:Ethernet  HWaddr 8E:35:47:57:27:1A
inet6 addr: fe80::8c35:47ff:fe57:271a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:949 errors:0 dropped:0 overruns:0 frame:0
TX packets:1004 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:57991 (56.6 KiB)  TX bytes:8406459 (8.0 MiB)

veth3818003 Link encap:Ethernet  HWaddr BA:E9:58:5C:09:57
inet6 addr: fe80::b8e9:58ff:fe5c:957/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:558 (558.0 b)  TX bytes:1226 (1.1 KiB)

开启一个容器,都会生成一个 vethxx的网卡

docker:/etc/sysconfig/network-scripts# pwd
/etc/sysconfig/network-scripts

cp ifcfg-etho ifcfg-br0

配置:
docker:/etc/sysconfig/network-scripts# cat ifcfg-eth0
DEVICE=eth2
TYPE=Ethernet
UUID=ac880d1b-2e37-425b-a58e-2a1e4625255c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
#IPADDR=192.168.32.151
#NETMASK=255.255.255.0
#GATEWAY=192.168.32.254

docker:/etc/sysconfig/network-scripts# cat ifcfg-bro
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.32.151
NETMASK=255.255.255.0
GATEWAY=192.168.32.254

docker:/etc/sysconfig/network-scripts# /sbin/ifconfig -a
br0       Link encap:Ethernet  HWaddr 00:0C:29:6E:56:02
inet addr:192.168.32.151  Bcast:192.168.32.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe6e:5602/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:585 errors:0 dropped:0 overruns:0 frame:0
TX packets:119 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:34193 (33.3 KiB)  TX bytes:14755 (14.4 KiB)

docker0   Link encap:Ethernet  HWaddr 82:1A:3F:70:76:A5
inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
inet6 addr: fe80::dcbe:d9ff:fe62:d7e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:7890 errors:0 dropped:0 overruns:0 frame:0
TX packets:9934 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:404433 (394.9 KiB)  TX bytes:46463810 (44.3 MiB)

eth2      Link encap:Ethernet  HWaddr 00:0C:29:6E:56:02
inet6 addr: fe80::20c:29ff:fe6e:5602/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:588 errors:0 dropped:0 overruns:0 frame:0
TX packets:125 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42563 (41.5 KiB)  TX bytes:15263 (14.9 KiB)

安装pipwork:

git clone https://github.com/jpetazzo/pipework 
docker:/root# cp pipework/pipework /usr/local/bin/

开启一个容器:

docker run -itd --net=none --name centos_test01 centos bash

rpm -Uvh https://repos.fedorapeople.org/openstack/EOL/openstack-grizzly/epel-6/iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm 
pipework bro 容器名  192.168.32.152/24@192.168.32.254

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