目录搜索
文字
分享

本节介绍如何构建自己的网桥来替换 Docker 默认网桥。这是一个在安装 Docker 时自动创建名为bridgebridge网络。

注意:通过 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 addrip route在容器内部确认其在桥接器的 IP 地址范围中具有地址并在其上使用 Docker 主机的 IP 地址该桥作为其互联网其余部分的默认网关。