elasticsearch – Docker-compose链接vs external_links

前端之家收集整理的这篇文章主要介绍了elasticsearch – Docker-compose链接vs external_links前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

我喜欢external_links,因为我想拥有核心docker-compose,我想扩展它而不覆盖核心链接.

我究竟有什么,我正在尝试设置logstash,这取决于elasticsearch. Elasticsearch在核心docker-compose中,logstash在依赖的中.所以我必须在依赖的docker-compose中定义弹性搜索作为参考,因为logstash需要它作为链接.但Elasticsearch已有自己的链接,我不想在依赖链接中重复它们.

我可以使用external_link而不是链接吗?

我知道链接会在链接之前确保链接首先出现,external_link是否也会这样做?

任何帮助表示赞赏.谢谢.

最佳答案
如果要将同一个docker-compose.yml中的容器链接在一起,请使用链接.您需要做的就是设置服务名称链接.像这样:

---
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并设置指向容器的链接名称.像这样:

---
logstash:
  image: logstash:latest
  command: logstash -f logstash.conf
  ports:
    - "5000:5000"
  external_links:
    - my_elasticsearch_container

我建议第一种方法,除非你的用例由于某种原因要求他们不能在同一个docker-compose.yml

猜你在找的Docker相关文章