Bridge网络
定向连接容器
对于自定义的 bridge 网络,其具有一个特性:该网络上的容器可以通过容器名互 ping。但默认的 bridge 网络是不行的。如果在默认的 bridge 网络上实现通过容器名进行的连接,则需要创建容器时通过--link 选项指定。
docker run -d --name bb4 --link bb1 busybox /bin/sh -c "while true; do sleep 3600; done"
此时容器 bb4 直接通过 bb1 的容器名称就是连接上 bb1。
但容器 bb4 是无法通过容器名称来连接 bb2 的。然后 bb1 也无法通过容器名称连接 bb4。所以,--link 指定的连接是一种定向连接,是带有指向性与方向性的。
共享网络命名空间容器
在创建容器时可以指定其与某已经存在的容器共享 Network Namespace,但要求该已经存在的容器采用的是 bridge 网络模式。
docker run -d --name bb1-1 --network container:bb1 busybox /bin/sh -c "while true; do sleep 3600; done"
上面的命令创建了一个 bb1-1 的容器,其共享了 bb1 容器的 Network Namespace。查看两个容器的接口情况,发现完全相同。
查看容器 bb1-1 的详情,可以发现,其没有自身的网络设置。因为其共享的 bb1 容器的网络设置。docker inspect bb1-1。