除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器。

    在启动 Docker 服务的时候,使用 -b BRIDGE--bridge=BRIDGE 来指定使用的网桥。

    如果服务已经运行,那需要先停止服务,并删除旧的网桥。

    1. $ sudo systemctl stop docker
    2. $ sudo ip link set dev docker0 down
    3. $ sudo brctl delbr docker0

    然后创建一个网桥 bridge0

    1. $ sudo brctl addbr bridge0
    2. $ sudo ip addr add 192.168.5.1/24 dev bridge0
    3. $ sudo ip link set dev bridge0 up

    查看确认网桥创建并启动。

    1. $ ip addr show bridge0
    2. 4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default
    3. link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff
    4. inet 192.168.5.1/24 scope global bridge0
    5. valid_lft forever preferred_lft forever

    在 Docker 配置文件 /etc/docker/daemon.json 中添加如下内容,即可将 Docker 默认桥接到创建的网桥上。

    1. {
    2. "bridge": "bridge0",
    3. }

    启动 Docker 服务。

    新建一个容器,可以看到它已经桥接到了 bridge0 上。

    可以继续用 brctl show 命令查看桥接的信息。另外,在容器中可以使用 ip addrip route 命令来查看 IP 地址配置和路由信息。