docker_practice/advanced_network/bridge.md

35 lines
1.2 KiB
Markdown
Raw Normal View History

2014-09-18 17:38:20 +08:00
##自定义网桥
除了默认的`docker0`网桥,用户也可以指定网桥来连接各个容器。
在启动Docker服务的时候使用`-b BRIDGE`或`--bridge=BRIDGE`来指定使用的网桥。
如果服务已经运行,那需要先停止服务,并删除旧的网桥。
2014-09-05 15:50:54 +08:00
```
$ sudo service docker stop
$ sudo ip link set dev docker0 down
$ sudo brctl delbr docker0
```
2014-09-18 17:38:20 +08:00
然后创建一个网桥`bridge0`。
2014-09-05 15:50:54 +08:00
```
$ sudo brctl addbr bridge0
$ sudo ip addr add 192.168.5.1/24 dev bridge0
$ sudo ip link set dev bridge0 up
```
2014-09-18 17:38:20 +08:00
查看确认网桥创建并启动。
2014-09-05 15:50:54 +08:00
```
$ ip addr show bridge0
4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default
link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff
inet 192.168.5.1/24 scope global bridge0
valid_lft forever preferred_lft forever
```
2014-09-18 17:38:20 +08:00
配置Docker服务默认桥接到创建的网桥上。
2014-09-05 15:50:54 +08:00
```
$ echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker
$ sudo service docker start
```
2014-09-18 17:38:20 +08:00
启动Docker服务。
新建一个容器,可以看到它已经桥接到了`bridge0`上。
可以继续用`brctl show`命令查看桥接的信息。另外,在容器中可以使用`ip addr`和`ip route`命令来查看ip地址配置和路由信息。