gpt4 book ai didi

docker - 如何在docker镜像中预先配置一个elasticsearch管道?

转载 作者:行者123 更新时间:2023-12-02 18:07:27 25 4
gpt4 key购买 nike

我有一个 elasticsearch 图像,它被用作多个容器的基本图像。我想知道是否有任何方法可以预先配置摄取管道,以便创建图像和构建容器的过程也为我创建管道?如果基本镜像附带我希望它拥有的管道,那就太好了,否则我必须将 docker exec 放入使用此镜像的每个容器中,并在每个容器中发送 curl 请求以创建管道。

现在我想我必须在 docker-entrypoint.sh 中向 elasticsearch 服务器添加 curl(在它启动后),但我不确定是否还有其他方法

最佳答案

我可以建议您使用 docker-compose。我个人觉得非常方便。使用一个文件,您可以配置整个堆栈。

这是一个帮助您开始的示例:

 version: '2.2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
container_name: elasticsearch
environment:
- cluster.name=docker-cluster
- node.name=node-test1
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- node-test1data:/usr/share/elasticsearch/data
ports:
- 9200:9200
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
container_name: elasticsearch2
environment:
- cluster.name=docker-cluster
- node.name=node-test2
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=elasticsearch"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- node-test2data:/usr/share/elasticsearch/data
kibana:
image: docker.elastic.co/kibana/kibana:6.3.2
container_name: kibana
ports:
- 5601:5601
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200
depends_on:
- elasticsearch
logstash:
image: docker.elastic.co/logstash/logstash:6.3.2
container_name: logstash
ports:
- "5000:5000"
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
volumes:
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
- ./logstash/pipeline:/usr/share/logstash/pipeline:ro

关于docker - 如何在docker镜像中预先配置一个elasticsearch管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52732254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com