¿Cómo instalar complementos de Elasticsearch con docker Container?

Soy un novato en Docker, quiero instalar complementos en mi contenedor de elasticsearch, en este caso son:

  • análisis-UCI
  • análisis fonético

Sé que de una manera tradicional sería así:

  • /usr/share/elasticsearch en este directorio

sudo bin/elasticsearch-plugin install analysis-icu

sudo bin/elasticsearch-plugin install analysis-phonetic

➜ docker ps   CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                            NAMESf7aaead8fd09        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

¿Alguna idea o sugerencia?

Si está utilizando elasticsearch 6, los comandos para instalar complementos son un poco diferentes a los de la respuesta de @asktyagi. Pon esto en tu Dockerfile

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

Entonces

docker build -t elasticsearch .

Si está utilizando Dockerfile, pruebe con el siguiente enlace

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

Después de eso, puedes construir

$ docker build -t elasticsearch-aws .

Aquí hay una buena referencia https://www.elastic.co/blog/elasticsearch-docker-plugin-management .

Si desea instalar el complemento directamente desde docker, siga los pasos a continuación.

  1. Iniciar sesión en docker docker exec -it <id> /bin/bash
  2. Busque el directorio de inicio de elasticsearch y ejecute el comando para instalar el complemento.

Pero recuerde que de esta manera no es persistente.