容器学习 之 自定义容器网络(十三)

Docker 提供三种 user-defined 网络驱动:bridge, overlay 和 macvlan。overlay 和 macvlan 用于创建跨主机的网络,我们后面有章节单独讨论。

我们可通过 bridge 驱动创建类似前面默认的 bridge 网络,例如:

root@ubuntu:/myregistry/docker/registry/v2/repositories# docker network create --driver bridge my_net
9b75187556b09951e25c0fee62a8fe49ebacd86141b7108925993fe7a1a11ae5
root@ubuntu:/myregistry/docker/registry/v2/repositories# brctl show
bridge name	bridge id		STP enabled	interfaces
br-9b75187556b0		8000.024238de4dcc	no		
docker0		8000.024273721cc8	no		veth1b2c8de

这里新增了一个网桥 br-9b75187556b0

执行 docker network inspect 查看一下 my_net 的配置信息:

root@ubuntu:/myregistry/docker/registry/v2/repositories# docker network inspect my_net
[
    {
        "Name": "my_net",
        "Id": "9b75187556b09951e25c0fee62a8fe49ebacd86141b7108925993fe7a1a11ae5",
        "Created": "2018-10-31T02:03:48.695459701-07:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]

这里 172.18.0.0/16 是 Docker 自动分配的 IP 网段。

我们可以自己指定 IP 网段吗?
答案是:可以。

只需在创建网段时指定 --subnet 和 --gateway 参数:

容器要使用新的网络,需要在启动时通过 --network 指定:

image

当前 docker host 的网络拓扑结构

image

这时候172.22.16.2跟172.22.16.8是可以相互之间ping通的,但是他们都ping不通172.17.0.2,原因是用了不同的网桥,为了让172.17.0.2 ping通其他两个容器,这时候需要让172.17.0.2增加一个网卡eth1,该网卡连接在my-net2上,就可以啦!

docker network connect

image

就可以添加一个网卡eth1连接到br-5d863e9f78b6上

image

image

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值