docker-compose link 容器的另一个 docker-compose

docker-compose link container of another docker-compose

我对如何使用 docker-compose 设置我的环境有点困惑。我想要以下内容:

我想 stop/start/build ELK 堆栈容器独立于 Web 应用程序的容器 A/B。但我想 link 容器到 ELK 堆栈容器以打开 filebeat 的连接。

我正在寻找的是这样的:

  1. 没有容器 运行
  2. docker-在web app中构建一个文件夹。没有麋鹿容器是 运行。启动 ELK 堆栈,然后启动 Web 应用 A 容器。
  3. docker-在web app B 文件夹中编写。 Elk 容器已经 运行(来自 1)。不启动额外的 ELK 堆栈。启动网络应用程序 B。
  4. docker-elk stack container works
  5. -compose stop
  6. docker-在 elk stack container 中组合开始工作并且 "reconnects".

这有可能吗?我没有让它与 extends 或 link.

一起工作

提前致谢

Docker 网络是这里的关键。你可以这样做:

$ docker network create some-net

然后在您的撰写文件中,将以下内容添加到底部:

networks:
  default:
    external:
      name: some-net

这会将默认网络(对于每个容器)设置为先前定义的网络 (some-net)。然后,所有容器(无论它们在哪个 compose 文件中定义)都应该能够使用内置服务名称 DNS 解析相互通信。

相关文档:https://docs.docker.com/compose/networking/#/using-a-pre-existing-network