web-dev-qa-db-ja.com

DockerコンテナーでElasticsearchプラグインをインストールするにはどうすればよいですか?

私はDockerの初心者ですが、elasticsearchのコンテナーにプラグインをインストールしたいのですが、この場合は次のとおりです。

  • 分析-icu
  • 分析音声

私は伝統的な方法で次のようになることを知っています:

  • このディレクトリの/ usr/share/elasticsearch

Sudo bin/elasticsearch-plugin install analysis-icu

Sudo bin/elasticsearch-plugin install analysis-phonetic

➜ docker ps   
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                            NAMES
f7aaead8fd09        elasticsearch:7.0.1   "/usr/local/bin/dock…"   2 days ago          Up 10 minutes       0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   elasticsearch

アイデアや提案はありますか?

3
afr

Dockerfileを使用している場合は、以下のリンクを試してください

FROM elasticsearch:2
RUN /usr/share/elasticsearch/bin/plugin install --batch <plugin>

その後、あなたは構築することができます

$ docker build -t elasticsearch-aws .

ここに良いリファレンスがあります https://www.elastic.co/blog/elasticsearch-docker-plugin-management

Dockerから直接プラグインをインストールする場合は、以下の手順に従ってください。

  1. Dockerにログインdocker exec -it <id> /bin/bash
  2. Elasticsearch home dirを見つけ、コマンドを実行してプラグインをインストールします。

ただし、この方法は永続的ではないことに注意してください。

1
asktyagi

Elasticsearch 6を使用している場合、プラグインをインストールするコマンドは、@ asktyagiの回答とは少し異なります。これをDockerfileに入れてください

FROM elasticsearch:6.8.3
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu && \ 
    /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-phonetic

その後

docker build -t elasticsearch .
1
jdhildeb