首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker-compose links vs external_links

Docker-compose links vs external_links
EN

Stack Overflow用户
提问于 2016-02-02 21:09:33
回答 3查看 18.2K关注 0票数 11

我相信这是一个简单的问题,但我仍然不能从Docker-compose文档中得到它。links和external_links有什么区别?

我喜欢external_links,因为我想拥有核心docker-compose,我想在不覆盖核心链接的情况下扩展它。

我到底有什么,我正在尝试设置logstash,这取决于elasticsearch。Elasticsearch在核心docker-compose中,logstash在依赖的docker-compose中。因此,我不得不在依赖的docker-compose中将弹性搜索定义为引用,因为logstash需要它作为链接。但是Elasticsearch已经有了自己的链接,我不想在依赖的链接中重复它们。

我能用external_link而不是link做到这一点吗?

我知道links会确保链接在链接之前先打开,external_link也会这样做吗?

任何帮助都是非常感谢的。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-03 05:28:19

如果要将同一docker-compose.yml中的容器链接在一起,请使用links。您所需要做的就是设置指向服务名称的链接。如下所示:

代码语言:javascript
复制
---
elasticsearch:
  image: elasticsearch:latest
  command: elasticsearch -Des.network.host=0.0.0.0
  ports:
    - "9200:9200"

logstash:
  image: logstash:latest
  command: logstash -f logstash.conf
  ports:
    - "5000:5000"
  links:
    - elasticsearch

如果您希望将docker-compose.yml中的容器链接到不包含在同一docker-compose.yml中或以不同方式启动的另一个容器,则可以使用external_links,并将链接设置为容器的名称。如下所示:

代码语言:javascript
复制
---
logstash:
  image: logstash:latest
  command: logstash -f logstash.conf
  ports:
    - "5000:5000"
  external_links:
    - my_elasticsearch_container

我建议使用第一种方法,除非您的用例出于某种原因要求它们不能在同一docker-compose.yml中

票数 17
EN

Stack Overflow用户

发布于 2016-02-03 01:22:31

我认为external_link不会在docker-compose up命令中做与links相同的事情。

links等待容器启动并获取etc/hosts文件中使用的IP地址,因此external_link已具有docker-compose文件中描述的IP:Hostname值名称。

此外,links will be deprecated

票数 0
EN

Stack Overflow用户

发布于 2016-02-03 05:42:29

这里有一个指向Docker-Compose项目的链接,该项目使用了Elasticsearch、Logstash和Kibana。您将看到我使用的是链接:

https://github.com/bahaaldine/elasticsearch-paris-accidentology-demo

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35154441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档