我很難搞清楚如何互連屬於同一主機上運行的不同碼頭工程項目的容器。如何使用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