docker-compose link 容器的另一个 docker-compose
docker-compose link container of another docker-compose
我对如何使用 docker-compose 设置我的环境有点困惑。我想要以下内容:
- docker-为 ELK 堆栈编写文件
- docker-使用 filebeat
为 Web 应用程序 A 编写文件
- docker-使用 filebeat
为 Web 应用程序 B 编写文件
我想 stop/start/build ELK 堆栈容器独立于 Web 应用程序的容器 A/B。但我想 link 容器到 ELK 堆栈容器以打开 filebeat 的连接。
我正在寻找的是这样的:
- 没有容器 运行
- docker-在web app中构建一个文件夹。没有麋鹿容器是 运行。启动 ELK 堆栈,然后启动 Web 应用 A 容器。
- docker-在web app B 文件夹中编写。 Elk 容器已经 运行(来自 1)。不启动额外的 ELK 堆栈。启动网络应用程序 B。
- docker-elk stack container works
-compose stop
- 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
我对如何使用 docker-compose 设置我的环境有点困惑。我想要以下内容:
- docker-为 ELK 堆栈编写文件
- docker-使用 filebeat 为 Web 应用程序 A 编写文件
- docker-使用 filebeat 为 Web 应用程序 B 编写文件
我想 stop/start/build ELK 堆栈容器独立于 Web 应用程序的容器 A/B。但我想 link 容器到 ELK 堆栈容器以打开 filebeat 的连接。
我正在寻找的是这样的:
- 没有容器 运行
- docker-在web app中构建一个文件夹。没有麋鹿容器是 运行。启动 ELK 堆栈,然后启动 Web 应用 A 容器。
- docker-在web app B 文件夹中编写。 Elk 容器已经 运行(来自 1)。不启动额外的 ELK 堆栈。启动网络应用程序 B。
- docker-elk stack container works -compose stop
- 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