基于bridge网桥双向通信
概述
网桥是虚拟网卡
内部容器可以相互访问
容器内部可以ping通外部的百度
自定义一个网桥,然后把容器绑定到该网桥上,属于该网桥的所有容器可以实现双向连接
查看docker网桥
[[email protected] ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
e6152b729ab5 bridge bridge local
e79bb12079ec host host local
6050c184b247 none null local
创建docker网桥并查看
[[email protected]tmq1 ~]# docker network create -d bridge my-bridge
84cf77fe06831f0651224022744016472a9944df5a86b0138b464b243e8f8687
[[email protected] ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
e6152b729ab5 bridge bridge local
e79bb12079ec host host local
84cf77fe0683 my-bridge bridge local
6050c184b247 none null local
新的网桥就创建好了
创建容器c1和c2并连接到网桥上
[[email protected] ~]# docker run --name c1 -d centos sleep 1d
e319d6473b459c01c7c5aed88f7fde9638e43fb51f378781b6541c932fa6badf
[[email protected] ~]# docker run --name c2 -d centos sleep 1d
582b56490006f7f4c94cd40bb66b03714ef7dcc901b6ca9ba4f8932443090b30
[[email protected] ~]# docker network connect my-bridge c1
[[email protected] ~]# docker network connect my-bridge c2
将c1和c2加入到网桥中
[[email protected] ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
582b56490006 centos "sleep 1d" 2 minutes ago Up 2 minutes c2
e319d6473b45 centos "sleep 1d" 2 minutes ago Up 2 minutes c1
[[email protected] ~]# docker exec -it e319d6473b45 /bin/bash
[[email protected] /]# ping c2
64 bytes from e319d6473b45 (172.18.0.2): icmp_seq=1 ttl=64 time=0.013 ms