docker互联机制实现便捷互访

Posted wholj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker互联机制实现便捷互访相关的知识,希望对你有一定的参考价值。

何为容器互联 & 为何需要容器互联

容器的互联是一种让多个容器中应用进行快速交互的方式,它会在源和接收容器之间创建连接关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的 ip 地址。

容器互联实现示例

使用 --link 参数可以让容器之间安全进行交互;--link参数的格式--link name:alias, 其中 name 是要连接的容器名称, alias 是这个连接的别名.

首先创建一个新的容器,命名为redis,并让其处于运行状态

docker run -itd --name redis docker.io/redis:latest /bin/bash

技术图片

创建一个新的 web 容器, 并将它连接到 redis 容器

docker run -d -p 8080:8080 --name web --link redis:aliasRedis docker.io/centos:latest /bin/bash

注意:建立互联关系的时候,源容器必须处于运行状态,及容器redis必须处于运行状态。

使用docker ps --no-trunc来查看容器的连接

技术图片
可以看到自定义命名的容器,redis和web,redis容器的names列有redis也有web/aliasRedis;这表示web容器连接到redis容器,这允许web容器访问redis容器的信息。
docker相当于在两个互联的容器之间创建了一个虚拟通道,而且不用映射它们的端口到宿主主机上。在启动redis容器的时候并没有使用-p和-P标记,从而避免了暴露redis服务端口到外部网络上。

docker为容器公开连接信息的方式

通过添加host信息到父容器的/etc/hosts文件;下面是父容器web的hosts 文件

技术图片

以上是关于docker互联机制实现便捷互访的主要内容,如果未能解决你的问题,请参考以下文章

Java开发大型互联网-Dubbo源码下你不知道如何实现应用容器内部署

如何在linux下设置VPN互访机制,永不断线,可以ping通

多vlan实现互访,使用NATDHCPACL等技术实现公司组网

Docker 数据卷与容器互联

华为特有的 hybrid 技术使用可以隔离子网内的IP互访

Docker-端口映射与容器互联