基于bridge网桥双向通信

基于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