在公司里搭建docker测试环境,需要访问内部的服务, 由于网段是172.17。导致该容器没有办法正常访问公司内部服务。翻了一下官方的帮助文档,找到了修改默认网桥地址的办法。

首先停止正在使用的 Docker 服务:

$ sudo service docker stop

接着删除 Docker 默认网桥 docker0 :

$ sudo ip link set dev docker0 down
$ sudo brctl delbr docker0
$ sudo iptables -t nat -F POSTROUTING

然后创建一个新的网桥,注意 bridge0 可以换成其他名称, 10.1.5.1/24 也可以换成你喜欢的其它网段:

$ sudo brctl addbr bridge0
$ sudo ip addr add 10.1.5.1/24 dev bridge0
$ sudo ip link set dev bridge0 up

此时一下新网桥运新是否正常:

$ 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 10.1.5.1/24 scope global bridge0
       valid_lft forever preferred_lft forever

将新的网桥写入 Docker 默认配置文件,并启动 Docker :

$ echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker
$ sudo service docker start