gpt4 book ai didi

elasticsearch - 在 Docker 运行期间在 Elasticsearch 中设置映射

转载 作者:IT老高 更新时间:2023-10-28 12:42:45 26 4
gpt4 key购买 nike

我将使用官方的 Elasticsearch 图像。我要做的是在 Docker 运行期间设置索引的映射。

所以我需要在容器启动后立即执行。

curl -XPUT localhost:9200/_template/http_request -d {.....}

所以我不能在 Dockerfile 中这样做还是可以?

谢谢

最佳答案

我最终这样做了

docker-composer.yml

version: '2'
services:
elasticsearch:
image: elasticsearch:2.3
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "9200:9200"
- "9300:9300"
elasticsearch-mapping-init:
build: elasticsearch-mapping-init
links:
- elasticsearch
depends_on:
- elasticsearch

这是我的 elasticsearch-mapping-init/Dockerfile:

FROM ubuntu

# Install packages
RUN apt-get update && \
apt-get install -y curl

COPY docker-entrypoint.sh /

ENTRYPOINT ["/docker-entrypoint.sh"]

这是我的 elasticsearch-mapping-init/docker-entrypoint.sh

#!/bin/bash

for i in {30..0}; do
if curl elasticsearch:9200; then
curl -XPUT elasticsearch:9200/_template/log -d '
{
"template" : "log-*",
"settings": {
"number_of_shards": 1
},
"mappings" : {


}
}';
break;
fi
sleep 2
done

我认为这并不完美,我仍在寻找更好的解决方案。

关于elasticsearch - 在 Docker 运行期间在 Elasticsearch 中设置映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39001972/

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