方法一:Link应用
一个容器通过link另一个容器的name进行通信,类似于添加了DNS记录,比如生产环境中,如果一个应用容器与后台数据库容器通信,可以通过IP地址进行通信,但在开发过程中并不知道生产中数据库的IP地址,在这种情况下可以使用link使两个容器进行通信
[root@localhost ~]#docker run -d --name test2 --link test1 python
##新启动运行的test2容器通过link与test1容器进行通信,但是test1到test2不通,link是有方向,实际环境中这种方式不常用。
方法二:
新建一个bridge,然后让多个容器链接到这个新建的bridge进行相互间通信
【实验操作】
1、新建一个bridge,my-bridge
[root@localhost ~]# docker network create -d bridge my-bridge
7d34e6c0f6871fc58706ff6262d9fc0f6654719099bea9574b4a79ffa9a17a49
[root@localhost ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
201815ae438a bridge bridge local
fc342b7c0300 host host local
7d34e6c0f687 my-bridge bridge local
7ed63a8db096 none null local
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br-7d34e6c0f687 8000.02424fee0afb no
docker0 8000.024280457a69 no
virbr0 8000.5254007f90e1 yes virbr0-nic
2、新建容器test2,连接到my-bridge
[root@localhost ~]# docker run -it -d --name test2 --network my-bridge python
31d04b26c8c8a7af6cda52469baefaec3bce3b074eb63222369a6d41f3f3a43b
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br-7d34e6c0f687 8000.02424f