Press "Enter" to skip to content

Docker 容器3种通信方式

上文介绍了ELK的安装,中间有提到容器间用--link通信,其实这不是最优解。经过一番摸索,了解到了以下3种方式。

ip

最开始用ip加端口号,但是容器的IP是会随重启变化的,这样就不很方便。 用宿主机IP倒还行。

--link其实是在hosts加一条解析记录,这样不用担心IP变化而连接不到,但是需要依赖容器间启动顺序,一旦依赖多起来,Docker启动--link参数变得冗余,且不易维护。

network

最佳方式当属建立专属网络了,Docker内置了一个DNS Server,当你创建网络后就可以方便使用。

示例:

docker network create elk

$ docker run -d --name elasticsearch --net elk -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag