docker - 如何使用 docker-compose 在同一主机上的单独部署中连接 docker 容器?

标签 docker docker-compose

我很难弄清楚如何互连属于同一主机上运行的不同 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/

相关文章:

docker - 连接被拒绝-使用graphaware连接Neo4j/ES Docker容器

nginx - Docker Compose 使用 nginx 的主机路径错误

docker - 如何使用 buildKit 的 Go 客户端

ssl - 在非交互模式下使用 "letsencrypt certonly"生成新的(未更新的)SSL 证书

docker - Windows Server 2016 上的容器到容器访问 Windows 容器问题

docker-compose 外部构建上下文与相对 dockerfile

docker - 如何将单个 docker-compose yml 文件拆分为多个 yml 文件

mysql - 无法通过 Travis CI 上的套接字连接到本地 MySQL 服务器

java - Docker Gradle 项目生成单个 JAR,但不断重建 4 层

database - 备份/恢复 dockerized PostgreSQL 数据库