前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker容器跨主机互联

Docker容器跨主机互联

作者头像
dys
发布2018-04-02 16:12:43
1.9K0
发布2018-04-02 16:12:43
举报
文章被收录于专栏:性能与架构性能与架构

当两个Docker容器在同一主机时,可以通过--link命令让两者直接互相访问。

如果要跨主机实现容器互联,则往往需要容器知道其他物理主机的IP地址

利用Ambassador容器机制,可以让互联的容器无需知道所在物理主机的IP地址即可互联

Ambassador容器也是一种Docker容器,它在内部提供了转发服务

以redis镜像为例

目标

(redis客户端) --> (redis-ambassador) ---network---> (redis-ambassador) --> (redis服务端)

操作

(1)首先在服务端主机上创建一个服务端容器redis-server:

代码语言:javascript
复制
$ sudo docker run -d -name redis-server crosbymichael/redis

(2)创建一个服务端Ambassador容器redis_ambassador,连接到服务端容器redis-server,并监听本地的6379端口:

代码语言:javascript
复制
$ sudo docker run -d -link redis-server:redis -name redis_ambassador -p 6379:6379 svendowideit/ambassador

(3)在客户端主机上创建客户端Ambassador容器,告诉它服务端物理主机的监听地址是tcp://x.x.x.x:6379,将本地收集到6379端口的流量转发到服务端物理主机:

代码语言:javascript
复制
$ sudo docker run -d -name redis_ambassador -expose 6379 -e REDIS_PORT_6379_TCP=tcp://x.x.x.x:6379 svendowideit/ambassador

(4)最后,创建一个客户端容器,进行测试,默认访问6379端口实际上是访问的服务端容器内的redis应用:

代码语言:javascript
复制
$ sudo docker run -i -t -rm -link redis_ambassador:redis relateiq/redis-cli

redis 172.17.0.160:6379> ping

PONG
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档