Назад | Перейти на главную страницу

Запустить файл dockerfile elasticsearch, используя мой собственный elasticsearch.yml

Я запускаю elasticsearch через файл докеров, найденный здесь:

https://index.docker.io/u/ehazlett/elasticsearch/

Отлично работает. Мне нужно определить свои собственные хосты, поскольку моя среда не поддерживает многоадресную рассылку.

Я понимаю, что у меня есть следующие варианты:

1) предоставлять хосты, когда elasticsearch запускается как параметр командной строки

2) измените мой файл elasticsearch.yml, чтобы установить хосты.

Я знаю, как создать yml, мне нужно знать, как запустить elasticsearch через докер, используя мой собственный yml вместо того, который находится в контейнере. Это возможно?

Спасибо.

Вы можете указать elasticsearch.yml с параметром «-Des.config».

Например:

elasticsearch -Des.config=/path/to/elasticsearch.yml

Или в вашем Dockerfile:

CMD ["/usr/share/elasticsearch/bin/elasticsearch", "-Des.config=/path/to/elasticsearch.yml"]

С другой стороны, чтобы добавить собственную конфигурацию elasticsearch в контейнер, у вас есть возможность создать собственный образ.

Создать собственный образ очень просто, если вы знакомы с Dockerfile, вам нужно сделать всего несколько вещей:

FROM base/elasticsearchimage
ADD elasticsearch.yml /path/to/conf/elasticsearch.yml
CMD ["/usr/share/elasticsearch/bin/elasticsearch", "-Des.config=/path/to/conf/elasticsearch.yml"]

Поместите Dockerfile и elasticsearch.yml в одну папку и выполните следующую команду:

В Linux:

sudo docker build -t username/elasticsearch.

Windows (через boot2docker):

docker build -t username/elasticsearch .

И после успешной сборки выполните:

docker run -d --name containername username/elasticsearch

Благодаря этому вы сделаете конфигурацию всегда доступной для ваших новых контейнеров, что также снизит усилия по созданию кластера.

Скопируйте пользовательский файл yml в каталог конфигурации ES в файле Dockerfile, поместите файл yml в тот же каталог с файлом Dockerfile и создайте образ.

FROM docker.elastic.co/elasticsearch/elasticsearch:7.6.2
COPY --chown=elasticsearch:elasticsearch ./elasticsearch.yml /usr/share/elasticsearch/config/

Можно было найти больше Вот