docker容器间通信

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker容器间通信相关的知识,希望对你有一定的参考价值。

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

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

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

注意:只能在 user-defined 网络中可以使用,默认的bridge网络是无法使用DNS的
技术图片

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

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

以上是关于docker容器间通信的主要内容,如果未能解决你的问题,请参考以下文章

Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)

Docker 之容器间通信配置

docker学习整理五 容器间通信

Docker网络管理(容器间通信)

docker 容器与其宿主机之间的进程间通信

Docker 与 K8S学习笔记—— 容器间通信