我很难搞清楚如何互连属于同一主机上运行的不同码头工程项目的容器。如何使用docker-compose在同一主机上的不同部署中连接Docker容器?
比方说,我有在部署一组容器的:
[email protected]:~# docker ps | awk '{print $2}' | grep "cl"
cl-worker:latest
cl-nginx:latest
cl-app:latest
cl-rabbitmq:latest
cl-memcached:latest
cl-db:latest
所有这些容器,其中来自一个单独的配置文件deployment-a.yml
推出。现在,我们也有不同的部署乙,拥有自己的`部署-b.yml:
[email protected]:~# docker ps | awk '{print $2}' | grep "stockagents"
stockagents-app:latest
是否有可能从stockagents-app
通过一些特定的配置在deployment-b.yml
Access数据库(cl-db
容器)和/或deployment-a.yml
?
注:我知道如何使用纯docker
命令,并通过--link
链接容器它做的事,但有实现仅用docker-compose
和它的配置文件相同的行为的方法?
您可以使用skydns和调节器在创建Docker容器时执行自动DNS注册。这很酷。那么你的容器可以通过名字相互引用。 – Greg
@Greg快速谷歌搜索显示skydns需要'etcd'运行,这又需要它自己的配置。此外,我在ubuntu上运行,默认情况下它没有启用etcd :(这看起来像是一个复杂的解决方案,用于容器之间的主机间通信的一般情况。 –
这是一个复杂的问题,但是,对吗?你想要“发现”彼此的组合,是否只有一个docker实例,或者是否有潜在的许多(swarm,fleet,k8s等)?听起来你想要一些轻量级的东西。你想要的是每个作品可以装入的通信量,你知道,也许是一个目录,一个写'我在X地址',另一个读取? – Greg