我相信这是一个简单的问题,但我仍然没有从 Docker-compose 文档中得到它。链接和外部链接有什么区别?
我喜欢 external_links 因为我想要核心 docker-compose 并且我想在不覆盖核心链接的情况下扩展它。
我到底拥有什么,我正在尝试设置依赖于elasticsearch的logstash。 Elasticsearch 位于核心 docker-compose 中,logstash 位于依赖项中。所以我必须在依赖的 docker-compose 中定义弹性搜索作为参考,因为logstash需要它作为链接。但是 Elasticsearch 已经有它自己的链接,我不想在依赖链接中重复它们。
我可以用 external_link 而不是 link 来做到这一点吗?
我知道 links 会确保链接在链接之前首先打开,external_link 也会做同样的事情吗?
任何帮助表示赞赏。谢谢。
Use links
当您想要将同一个 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 中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)