在Docker世界中,两个container是通过bridge0连接起来的。
首先,介绍一个命令:docker network ls
这个docker network ls明令会列举出来当前这台机器上docker有哪些网络。
先看一下bridge。
现在有一个容器flask-hello-docker,它是连到bridge网络上面的,可以通过下面的命令查看:
docker network inspect 30bfb70449eb
30bfb70449eb是bridge的NETWORK ID。
然后,执行ip a后发现多出来5: veth79d6a84@if4这个nameSpace:
可以看到还有一个3:docker0这个NetWork nameSpace,然后容器flask-hello-docker有自己的nameSpace,这两个NetWork nameSpace要连在一起,就需要这个5: veth79d6a84@if4。
docker exec flask-hello-docker ip a
container中的4: eth0@if5和5: veth79d6a84@if4是一对的,通过这一对,连到了主机的docker0网络上面。
备注:在container里面执行ip a报错的话,执行下面的命令:
apt-get update && apt-get install -y iproute2
通过下面的命令安装个工具
sudo yum install bridge-utils
然后可以通过下面的命令查看机器上docker bridge的信息:
brctl show