1.Bridge容器间通信
两个容器都连接到了一个叫 docker0 的Linux bridge上,类似交换机(docker0) 与机器(普通容器)之间的关系。
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
1847e179a316 bridge bridge local
a647a4ad0b4f host host local
fbd81b56c009 none null local
$ docker network inspect bridge
创建bridge
docker network create -d bridge mybridge //新建bridge
docker network inspect mybridge //显示详细信息
docker container run -d --rm --name box3 --network mybridge nginx //指定运行在指定bridge
docker network connect bridge box3 //连接bridge
docker network disconnect bridge box3 //断开连接bridge
2.端口转发
因为使用不同的bridge的容器不能互相访问,当bridge0中的web容器需要暴露网页时需要将端口映射到宿主机上。此时mybridge中的容器直接访问bridge0的8080端口即可获得网页信息。
docker container run -d --rm --name web -p 8080:80 nginx
3.默认网络详解
①bridge:有本地(127.0.01)和一个默认网关(172.17.0.1)
②host:和linux机器的网络完全一致
③none:只有本地(127.0.01)