互联网服务Docker

探讨:docker/compose 中关于 link 的设计怎么样?

compose中,对于link的处理是这样的(以 A -> B 为例 )——A的hosts中写入B的地址,便于地址访问在A中设定B的环境变量,为了避免名字冲突,添加前缀 B_ENV_根据 B 容器对应镜像的 EXPOSE 指令,在A中添加一组 ADDR、PORT 环境变量在A中添加一个环境变量指明B的容器全名称,类似这样: /_A...显示全部

compose中,对于link的处理是这样的(以 A -> B 为例 )——

A的hosts中写入B的地址,便于地址访问在A中设定B的环境变量,为了避免名字冲突,添加前缀 B_ENV_根据 B 容器对应镜像的 EXPOSE 指令,在A中添加一组 ADDR、PORT 环境变量在A中添加一个环境变量指明B的容器全名称,类似这样: /_A_run_1/B

但是试用时速云的时候发现不兼容compose的做法,沟通后的回答是这样的——

我们的确实跟docker compose不一样,不过一个服务的非接口信息,另外一个服务也需要拿到,不知道这个应用场景是什么?这种环境变量应该是那个服务独享吧。在Kubernetes里面没有docker 的 --link 的概念,两个关系紧密的容器可以放到一个Pod里面,通过localhost和共享存储进行通信。

这样就变成了 docker compose 和 k8s 的设计取舍问题,哪个设计更合理呢?

收起
参与10

查看其它 2 个回答dl528888的回答

dl528888dl528888系统运维工程师游戏公司

根据你需求来吧,一个是docker官方软件,一个是谷歌的,都是实现内核虚拟化,但解决的需要不一样。

互联网服务 · 2015-10-12
浏览1709

回答者

dl528888
系统运维工程师游戏公司
擅长领域: 云计算容器容器云

dl528888 最近回答过的问题

回答状态

  • 发布时间:2015-10-12
  • 关注会员:3 人
  • 回答浏览:1709
  • X社区推广