docker6 构建docker容器集群
十五、构建docker集群
让不同主机中的docker容器可以互相访问。
本章介绍几种解决方案,包括利用端口映射实现容器之间的快速互联,使用Ambassador容器解决跨主机的容器互联。
15.1 使用自定义网桥连接跨主机容器
docker默认的网桥是docker0,它只会在本机连接所有的容器。
容器的虚拟网卡在主机上看一般叫做veth*而docker0网桥把所有这些网卡桥接在一起。
可以把这个网络看成是一个私有的网络,如果要让外网连接到容器中,就需要做端口映射,即-p参数。
15.2 使用Ambassador容器
当两个docker容器在同一主机(或虚拟机)时,可以通过--link命令让两者直接互相访问。如果要跨主机实现容器互联,则往往需要容器知道其它物理主机的IP地址。利用Ambassador容器机制,可以让互联的容器无需知道所在物理主机的IP地址即可互联。
基本场景:
Ambassador容器也是一种Docker容器,它在内部提供了转发服务。
当客户端要访问服务端容器的时候,直接访问客户端Ambassador容器;这个请求会被客户端Ambassador转发出去,到达服务端主机。服务端Ambassador容器监听在对应端口上,收到请求后再转发请求给服务端容器。
使用Ambassador容器: