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通