docker容器间通信

容器间通信可以通过IP、Docker DNS Server 或joined容器三种方式通信

1.IP通信
两个容器要能通信,必须要有使用同一个网络的网卡,具体做法是在创建容器时通过--network指定相应网络,或是通过 docker network connect 将现有的容器加入到指定网络里。

2.Docker DNS Server
从docker1.10版本开始,docker daemon实现了一个内嵌的DNS server,容器之间可以通过“容器名”通信。
docker容器间通信

注意:只能在 user-defined 网络中可以使用,默认的bridge网络是无法使用DNS的
docker容器间通信

3.Joined容器
Joined非常特别,它可以使两个容器或者多个容器共享一个网络栈,共享网卡和配置信息,joined容器之间可以通过 127.0.0.1直接通信
创建web1容器:
Docker run -it -d --name=web1 busybox
docker容器间通信

使用场景:
(1)不通容器中的程序希望通过loopback高效快速通信,比如web server 和App server
(2)希望监控其他容器网络流量,比如运行在独立容器中的网络监控程序

相关推荐