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 的设计取舍问题,哪个设计更合理呢?
收起