2016-07-06 116 views
1

我对如何使用docker-compose设置我的环境有点困惑。我想有以下几点:docker-compose另一个docker的链接容器 - 撰写

  • 一个ELK泊坞窗,撰写文件堆栈
  • 泊坞窗,撰写文件web应用程序与filebeat
  • 泊坞窗,撰写与filebeat为web应用B文件

我想独立于Web应用程序A/B的容器来停止/启动/构建ELK堆栈容器。但我想将容器链接到ELK堆栈容器以打开filebeat的连接。

我在找什么会是这样的:

  1. 没有容器运行
  2. 码头工人,组成的网络将应用程式的文件夹。没有麋鹿容器正在运行。启动ELK堆栈,然后启动Web应用程序容器。
  3. 泊坞窗 - 在Web应用程序B文件夹中组成。 Elk容器已经运行(从1开始)。不会启动额外的ELK堆栈。启动网络应用程序B.
  4. docker-compose在elk堆栈容器工程中停止
  5. docker-compose在elk堆栈容器工作和“重新连接”中启动。

这是否有可能。我没有得到它与扩展或链接工作。

在此先感谢

回答

3

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

$ docker network create some-net

然后在您撰写的文件,添加以下底部:

networks: 
    default: 
    external: 
     name: some-net 

这将设置默认网络(每个集装箱)是先前定义的网络(有些网)。所有容器(不管它们被定义在哪个组成文件中)都应该能够使用内置的服务名称DNS解析来相互通信。

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

+0

感谢。这是一个好主意。 – user984200

相关问题