web-dev-qa-db-fra.com

Comment installer des plugins élastiquesarch avec le conteneur Docker?

Je suis un débutant à Docker, je souhaite installer des plugins dans mon conteneur d'Elasticssearch, dans ce cas, ils sont:

  • analyse-ICU
  • analyse phonétique

Je sais que de manière traditionnelle, ce serait comme ça:

  • / USR/Share/Elasticsearch dans ce répertoire

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

Des idées ou des suggestions?

4
Alejandro

Si vous utilisez dockerfile, essayez quelque chose de lien ci-dessous

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

Après cela, vous pouvez construire

$ docker build -t elasticsearch-aws .

Voici une bonne référence https://www.elastic.co/blog/elasticsearch-Docker-plugin-management .

Si vous souhaitez installer un plugin directement à partir de Docker, suivez les étapes ci-dessous.

  1. Connectez-vous à Docker docker exec -it <id> /bin/bash
  2. Trouvez l'élasticsearch Home Dir et exécutez votre commande pour installer le plugin.

Mais rappelez-vous de cette façon que ce n'est pas persistant.

1
asktyagi

Si vous utilisez Elasticsearch 6, les commandes à installer des plugins sont un peu différentes de la réponse de @ Asktyagi. Mettez ceci dans votre 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

Puis

docker build -t elasticsearch .
1
jdhildeb