我很难弄清楚如何互连属于同一主机上运行的不同 docker-compose 项目的容器。
假设我在部署 A 中有一组容器:
root@debussy:~# 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,它有自己的“deployment-b.yml”:
root@debussy:~# docker ps | awk '{print $2}' | grep "stockagents"
stockagents-app:latest
是否可以通过deployment-b.yml
中的某些特定配置从stockagents-app
访问数据库(cl-db
容器)和/或 deployment-a.yml
?
注意:我知道如何使用纯 docker
命令并通过 --link
链接容器,但是有没有一种方法可以仅使用 docker-compose 及其配置文件即可实现相同的行为?
最佳答案
似乎最新版本的 docker-compose (至少 1.5.2)支持 "external_links" option在 docker-compose.yml 文件中,该文件允许指定在当前配置之外启动的容器。
这正是我在尝试在单独部署的容器之间共享公共(public)服务(例如 MySQL)时所寻找的功能。
关于docker - 如何使用 docker-compose 在同一主机上的单独部署中连接 docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29698847/