©
本文檔使用 php中文網手册 發布
本节介绍如何构建自己的网桥来替换 Docker 默认网桥。这是一个在安装 Docker 时自动创建名为bridge
的bridge
网络。
注意:通过 Docker 网络功能,您可以创建除默认网桥以外的用户定义网络。
您可以在启动 Docker 之前设置自己的桥接器,并将 Docker 配置为使用桥接器而不是默认docker0
桥接器。
1. 配置新的网桥。
$ sudo brctl addbr bridge0 $ sudo ip addr add 192.168.5.1/24 dev bridge0 $ sudo ip link set dev bridge0 up Confirm the new bridge’s settings. $ 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
2. 通过在daemon.json
位于Linux/etc/docker/
或 Windows Server C:\ProgramData\docker\config\
上的文件中设置选项,将Docker 配置为使用新桥。在 Docker for Mac 或 Docker for Windows 上,单击 Docker 图标,选择 Preferences,然后转到 Daemon。
如果该daemon.json
文件不存在,请创建它。假设文件中没有其他设置,它应该具有以下内容:
{ "bridge": "bridge0" }
重新启动 Docker 以使更改生效。
3. 确认新的传出 NAT 伪装已设置。
$ sudo iptables -t nat -L -n Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 192.168.5.0/24 0.0.0.0/0
4. 删除现在未使用的docker0
桥。
$ sudo ip link set dev docker0 down $ sudo brctl delbr docker0 $ sudo iptables -t nat -F POSTROUTING
5. 创建一个新的容器,并验证它是否在新的 IP 地址范围内。
您可以使用此brctl show
命令查看 Docker 在启动和停止容器时添加和删除接口的接口,并且可以运行ip addr
和ip route
在容器内部确认其在桥接器的 IP 地址范围中具有地址并在其上使用 Docker 主机的 IP 地址该桥作为其互联网其余部分的默认网关。