Spec-Zone.ru › Elasticsearch 8
›Руководство по Elasticsearch [8.17] ›Настройка Elasticsearch ›Установка Elasticsearch

Установка Elasticsearch с Docker

Образы Docker для Elasticsearch доступны в реестре Elastic Docker. Список всех опубликованных образов Docker и тегов доступен по адресу www.docker.elastic.co. Исходный код находится в GitHub.

Этот пакет содержит как бесплатные, так и подписные функции. Начните 30-дневную пробную версию, чтобы опробовать все функции.

Если вы просто хотите протестировать Elasticsearch в локальном окружении разработки, обратитесь к Запуск Elasticsearch локально. Обратите внимание, что эта настройка не подходит для производственных сред.

Запуск Elasticsearch в Docker

Используйте команды Docker для запуска кластера Elasticsearch с одним узлом для разработки или тестирования. Затем вы можете выполнить дополнительные команды Docker для добавления узлов в тестовый кластер или запустить Kibana.

По умолчанию эта настройка не запускает несколько узлов Elasticsearch или Kibana. Чтобы создать кластер с несколькими узлами и Kibana, используйте Docker Compose. См. Запуск кластера с несколькими узлами с помощью Docker Compose.

Защищенные образы Docker

Вы также можете использовать защищенный образ Wolfi для дополнительной безопасности. Использование образов Wolfi требует Docker версии 20.10.10 или выше.

Для использования образа Wolfi добавьте -wolfi к тегу образа в команде Docker.

Например:

docker pull docker.elastic.co/elasticsearch/elasticsearch-wolfi:8.17.3

Запуск кластера с одним узлом

  1. Установите Docker. Перейдите на Get Docker, чтобы установить Docker для вашей среды.

    Если вы используете Docker Desktop, убедитесь, что выделено не менее 4 ГБ оперативной памяти. Вы можете настроить использование памяти в Docker Desktop, перейдя в Настройки > Ресурсы.

  2. Создайте новую сеть Docker.

    docker network create elastic
  3. Скачайте образ Elasticsearch Docker.

    docker pull docker.elastic.co/elasticsearch/elasticsearch:8.17.3
  4. Необязательно: установите Cosign для вашей среды. Затем используйте Cosign для проверки подписи образа Elasticsearch.

    wget https://artifacts.elastic.co/cosign.pub
    cosign verify --key cosign.pub docker.elastic.co/elasticsearch/elasticsearch:8.17.3

    Команда cosign выводит результаты проверки и полезную нагрузку подписи в формате JSON:

    Verification for docker.elastic.co/elasticsearch/elasticsearch:8.17.3 --
    The following checks were performed on each of these signatures:
      - The cosign claims were validated
      - Existence of the claims in the transparency log was verified offline
      - The signatures were verified against the specified public key
  5. Запустите контейнер Elasticsearch.

    docker run --name es01 --net elastic -p 9200:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.17.3

    Используйте флаг -m, чтобы установить лимит памяти для контейнера. Это избавит вас от необходимости вручную устанавливать размер JVM.

    Функции машинного обучения, такие как семантический поиск с ELSER, требуют большего контейнера с объёмом памяти более 1 ГБ. Если вы планируете использовать возможности машинного обучения, запустите контейнер с этой командой:

    docker run --name es01 --net elastic -p 9200:9200 -it -m 6GB -e "xpack.ml.use_auto_machine_memory_percent=true" docker.elastic.co/elasticsearch/elasticsearch:8.17.3

    Команда выводит elastic пароль пользователя и токен регистрации для Kibana.

  6. Скопируйте сгенерированный elastic пароль и токен регистрации. Эти учетные данные отображаются только при первом запуске Elasticsearch. Вы можете перегенерировать учетные данные, используя следующие команды.

    docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
    docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

    Рекомендуется хранить elastic пароль как переменную среды в вашей оболочке. Пример:

    export ELASTIC_PASSWORD="your_password"
  7. Скопируйте http_ca.crt сертификат SSL из контейнера на ваш локальный компьютер.

    docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
  8. Выполните вызов REST API к Elasticsearch, чтобы убедиться, что контейнер Elasticsearch запущен.

    curl --cacert http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200

Добавление дополнительных узлов

  1. Используйте существующий узел для генерации токена регистрации для нового узла.

    docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node

    Токен регистрации действителен в течение 30 минут.

  2. Запустите новый контейнер Elasticsearch. Включите токен регистрации в качестве переменной среды.

    docker run -e ENROLLMENT_TOKEN="<token>" --name es02 --net elastic -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.17.3
  3. Выполните вызов API cat nodes, чтобы убедиться, что узел был добавлен в кластер.

    curl --cacert http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200/_cat/nodes

Запуск Kibana

  1. Скачайте образ Kibana Docker.

    docker pull docker.elastic.co/kibana/kibana:8.17.3
  2. Необязательно: Проверьте подпись образа Kibana.

    wget https://artifacts.elastic.co/cosign.pub
    cosign verify --key cosign.pub docker.elastic.co/kibana/kibana:8.17.3
  3. Запустите контейнер Kibana.

    docker run --name kib01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.17.3
  4. После запуска Kibana он выведет уникальную сгенерированную ссылку в терминал. Для доступа к Kibana откройте эту ссылку в веб-браузере.
  5. В вашем браузере введите токен регистрации, который был сгенерирован при запуске Elasticsearch.

    Чтобы перегенерировать токен, выполните:

    docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
  6. Войдите в Kibana как пользователь elastic с паролем, который был сгенерирован при запуске Elasticsearch.

    Чтобы перегенерировать пароль, выполните:

    docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

Удаление контейнеров

Для удаления контейнеров и их сети выполните:

# Remove the Elastic network
docker network rm elastic

# Remove Elasticsearch containers
docker rm es01
docker rm es02

# Remove the Kibana container
docker rm kib01

Следующие шаги

Теперь у вас настроена тестовая среда Elasticsearch. Перед началом серьезной разработки или переходом в производство с Elasticsearch, ознакомьтесь с требованиями и рекомендациями для применения при запуске Elasticsearch в Docker в производстве.

Запуск кластера из нескольких узлов с Docker Compose

Используйте Docker Compose для запуска кластера Elasticsearch из трех узлов с Kibana. Docker Compose позволяет запустить несколько контейнеров одной командой.

Настройка и запуск кластера

  1. Установите Docker Compose. Перейдите по ссылке Документация по Docker Compose, чтобы установить Docker Compose для вашей среды.

    Если вы используете Docker Desktop, Docker Compose устанавливается автоматически. Убедитесь, что для Docker Desktop выделено не менее 4 ГБ оперативной памяти. Вы можете настроить использование памяти в Docker Desktop, перейдя в Настройки > Ресурсы.

  2. Создайте или перейдите в пустой каталог для проекта.
  3. Скачайте и сохраните следующие файлы в каталоге проекта:

    • .env
    • docker-compose.yml
  4. В файле .env укажите пароль для переменных ELASTIC_PASSWORD и KIBANA_PASSWORD.

    Пароли должны быть буквенно-цифровыми и не могут содержать специальные символы, такие как ! или @. Скрипт bash, включённый в файл docker-compose.yml, работает только с буквенно-цифровыми символами. Пример:

    # Password for the 'elastic' user (at least 6 characters)
    ELASTIC_PASSWORD=changeme
    
    # Password for the 'kibana_system' user (at least 6 characters)
    KIBANA_PASSWORD=changeme
    ...
  5. В файле .env установите STACK_VERSION на текущую версию Elastic Stack.

    ...
    # Version of Elastic products
    STACK_VERSION=8.17.3
    ...
  6. По умолчанию конфигурация Docker Compose экспонирует порт 9200 на всех сетевых интерфейсах.

    Чтобы избежать экспонирования порта 9200 для внешних хостов, установите ES_PORT в значение 127.0.0.1:9200 в файле .env. Это обеспечит доступ к Elasticsearch только с компьютера-хоста.

    ...
    # Port to expose Elasticsearch HTTP API to the host
    #ES_PORT=9200
    ES_PORT=127.0.0.1:9200
    ...
  7. Для запуска кластера выполните следующую команду из каталога проекта.

    docker-compose up -d
  8. После запуска кластера откройте http://localhost:5601 в веб-браузере для доступа к Kibana.
  9. Войдите в Kibana как пользователь elastic с помощью установленного ранее пароля ELASTIC_PASSWORD.

Остановка и удаление кластера

Чтобы остановить кластер, выполните команду docker-compose down. Данные в Docker-томах сохраняются и загружаются при перезапуске кластера с помощью команды docker-compose up.

docker-compose down

Чтобы удалить сеть, контейнеры и тома при остановке кластера, укажите опцию -v:

docker-compose down -v

Следующие шаги

Теперь у вас настроена тестовая среда Elasticsearch. Прежде чем начать серьезную разработку или перейти к производственной эксплуатации с Elasticsearch, ознакомьтесь с требованиями и рекомендациями, которые необходимо учитывать при работе с Elasticsearch в Docker в производственной среде.

Использование образов Docker в рабочей среде

Следующие требования и рекомендации применяются при запуске Elasticsearch в Docker в рабочей среде.

Установите vm.max_map_count как минимум на 262144

Настройка ядра vm.max_map_count должна быть установлена как минимум на 262144 для использования в рабочей среде.

Способ установки vm.max_map_count зависит от вашей платформы.

Linux

Чтобы просмотреть текущее значение настройки vm.max_map_count, выполните:

grep vm.max_map_count /etc/sysctl.conf
vm.max_map_count=262144

Чтобы применить настройку на работающей системе, выполните:

sysctl -w vm.max_map_count=262144

Чтобы постоянно изменить значение настройки vm.max_map_count, обновите значение в /etc/sysctl.conf.

macOS с Docker для macOS

Настройка vm.max_map_count должна быть установлена внутри виртуальной машины xhyve:

  1. Из командной строки выполните:

    screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
  2. Нажмите Enter и используйте sysctl для настройки vm.max_map_count:

    sysctl -w vm.max_map_count=262144
  3. Для выхода из сессии screen, введите Ctrl a d.
Windows и macOS с Docker Desktop

Настройка vm.max_map_count должна быть установлена через docker-machine:

docker-machine ssh
sudo sysctl -w vm.max_map_count=262144
Windows с Docker Desktop с ядром WSL 2

Настройка vm.max_map_count должна быть установлена в экземпляре WSL "docker-desktop" перед правильным запуском контейнера Elasticsearch. Существует несколько способов сделать это, в зависимости от вашей версии Windows и WSL.

Если вы используете Windows 10 до версии 22H2 или Windows 10 версии 22H2 с встроенной версией WSL, вам необходимо либо каждый раз устанавливать её при перезапуске Docker перед запуском контейнера Elasticsearch, либо (если вы этого не хотите делать при каждом перезапуске) глобально установить каждому экземпляру WSL2 значение vm.max_map_count. Это связано с тем, что эти версии WSL не обрабатывают файл /etc/sysctl.conf должным образом.

Для ручного задания каждый раз при перезапуске вам необходимо выполнить следующие команды в окне командной строки или PowerShell каждый раз при перезапуске Docker:

wsl -d docker-desktop -u root
sysctl -w vm.max_map_count=262144

Если вы используете эти версии WSL и не хотите выполнять эти команды каждый раз при перезапуске Docker, вы можете глобально изменить каждую дистрибуцию WSL с помощью этого параметра, изменив ваш %USERPROFILE%\.wslconfig следующим образом:

[wsl2]
kernelCommandLine = "sysctl.vm.max_map_count=262144"

Это заставит все виртуальные машины WSL2 иметь это значение по умолчанию при запуске.

Если вы используете Windows 11 или Windows 10 версии 22H2 и установили Microsoft Store версию WSL, вы можете изменить /etc/sysctl.conf внутри дистрибутива WSL "docker-desktop", возможно, используя такие команды:

wsl -d docker-desktop -u root
vi /etc/sysctl.conf

и добавьте строку, которая выглядит так:

vm.max_map_count = 262144

Файлы конфигурации должны быть доступны пользователю elasticsearch

По умолчанию Elasticsearch выполняется внутри контейнера как пользователь elasticsearch с uid:gid 1000:0.

Исключением является Openshift, который запускает контейнеры с произвольно назначенным идентификатором пользователя. Openshift предоставляет постоянные тома с gid, установленным на 0, что работает без каких-либо корректировок.

Если вы монтируете локальный каталог или файл, он должен быть доступен пользователю elasticsearch. Кроме того, этот пользователь должен иметь права записи в каталогах config, data и log (Elasticsearch нуждается в праве записи в каталог config, чтобы он мог сгенерировать хранилище ключей). Хорошей стратегией является предоставление группового доступа к gid 0 для локального каталога.

Например, чтобы подготовить локальный каталог для хранения данных через монтирование:

mkdir esdatadir
chmod g+rwx esdatadir
chgrp 0 esdatadir

Вы также можете запустить контейнер Elasticsearch с пользовательским UID и GID. Вы должны убедиться, что разрешения файлов не помешают Elasticsearch работать. Вы можете использовать один из двух вариантов:

  • Монтировать каталоги config, data и logs. Если вы намерены установить плагины и предпочитаете не создавать собственный образ Docker, вы также должны смонтировать каталог plugins.
  • Передайте параметр командной строки --group-add 0 к docker run. Это гарантирует, что пользователь, под которым выполняется Elasticsearch, также является членом группы root (GID 0) внутри контейнера.

Увеличение лимитов для nofile и nproc

Для контейнеров Elasticsearch должны быть доступны увеличенные лимиты для nofile и nproc. Проверьте систему инициализации демона Docker, чтобы убедиться, что они установлены в приемлемых значениях.

Чтобы проверить значения по умолчанию для лимитов демона Docker, выполните:

docker run --rm docker.elastic.co/elasticsearch/elasticsearch:8.17.3 /bin/bash -c 'ulimit -Hn && ulimit -Sn && ulimit -Hu && ulimit -Su'

При необходимости отрегулируйте их в демоне или переопределите их на контейнерном уровне. Например, при использовании docker run, установите:

--ulimit nofile=65535:65535

Отключение подкачки

Для производительности и стабильности узла подкачка должна быть отключена. Подробнее об этом см. в разделе Отключение подкачки.

Если вы выбираете подход bootstrap.memory_lock: true, вам также необходимо определить лимит memlock: true в демоне Docker или явно установить его для контейнера, как показано в примере файла Compose. При использовании docker run, вы можете указать:

-e "bootstrap.memory_lock=true" --ulimit memlock=-1:-1

Случайное назначение опубликованных портов

Образ экспонирует TCP-порты 9200 и 9300. Для кластеров в рабочей среде рекомендуется случайное назначение опубликованных портов с помощью --publish-all, если вы не привязываете по одному контейнеру на хост.

Ручная установка размера кучи

По умолчанию Elasticsearch автоматически настраивает размер кучи JVM на основе ролей узлов и общего объема памяти, доступной контейнеру узла. Мы рекомендуем этот размер по умолчанию для большинства производственных сред. При необходимости можно переопределить размер по умолчанию, вручную установив размер кучи JVM.

Для ручной установки размера кучи в рабочей среде, смонтируйте файл параметров JVM по адресу /usr/share/elasticsearch/config/jvm.options.d, который включает ваши желаемые параметры размера кучи.

Для тестирования вы также можете вручную установить размер кучи с помощью переменной среды ES_JAVA_OPTS. Например, для использования 1 ГБ используйте следующую команду.

docker run -e ES_JAVA_OPTS="-Xms1g -Xmx1g" -e ENROLLMENT_TOKEN="<token>" --name es01 -p 9200:9200 --net elastic -it docker.elastic.co/elasticsearch/elasticsearch:8.17.3

Переменная ES_JAVA_OPTS переопределяет все другие параметры JVM. Не рекомендуется использовать ES_JAVA_OPTS в рабочей среде.

Фиксация развертываний на определённой версии образа

Зафиксируйте ваши развертывания на определенной версии образа Elasticsearch Docker. Например, docker.elastic.co/elasticsearch/elasticsearch:8.17.3.

Всегда монтируйте тома данных

Вы должны использовать тома, привязанные к /usr/share/elasticsearch/data, по следующим причинам:

  1. Данные вашего узла Elasticsearch не будут потеряны при завершении работы контейнера
  2. Elasticsearch чувствителен к вводу-выводу, а драйвер хранилища Docker не идеально подходит для быстрого ввода-вывода
  3. Это позволяет использовать расширенные плагины томов Docker

Избегайте использования режима loop-lvm

Если вы используете драйвер хранения devicemapper, не используйте режим по умолчанию loop-lvm. Настройте docker-engine для использования direct-lvm.

Централизуйте ваши журналы

Подумайте о централизации ваших журналов, используя другой драйвер журналов. Также обратите внимание, что драйвер журналов json-file по умолчанию не идеально подходит для использования в рабочей среде.

Настройка Elasticsearch с Docker

При запуске в Docker файлы конфигурации Elasticsearch загружаются из /usr/share/elasticsearch/config/.

Чтобы использовать пользовательские файлы конфигурации, необходимо привязать файлы к соответствующим файлам в образе.

Вы можете задать отдельные параметры конфигурации Elasticsearch с помощью переменных окружения Docker. Пример файла compose и пример одноузлового экземпляра используют этот метод. Вы можете использовать имя параметра непосредственно как имя переменной окружения. Если вы не можете это сделать, например, потому что ваша платформа оркестрации запрещает точки в именах переменных среды, то вы можете использовать альтернативный стиль, преобразовав имя параметра следующим образом.

  1. Изменить имя параметра на заглавные буквы
  2. Префикс ES_SETTING_
  3. Заменить все подчёркивания (_) на двойные подчёркивания
  4. Преобразовать все точки (.) в подчёркивания (_)

Например, -e bootstrap.memory_lock=true становится -e ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true.

Вы можете использовать содержимое файла для установки значения переменных среды ELASTIC_PASSWORD или KEYSTORE_PASSWORD, добавив суффикс _FILE к имени переменной. Это полезно для передачи секретов, таких как пароли, в Elasticsearch, не указывая их напрямую.

Например, для установки пароля для запуска Elasticsearch из файла, вы можете привязать файл и установить переменную среды ELASTIC_PASSWORD_FILE на расположение монтирования. Если вы монтируете файл пароля в /run/secrets/bootstrapPassword.txt, укажите:

-e ELASTIC_PASSWORD_FILE=/run/secrets/bootstrapPassword.txt

Вы можете переопределить команду по умолчанию для образа, чтобы передать параметры конфигурации Elasticsearch в качестве параметров командной строки. Например:

docker run <various parameters> bin/elasticsearch -Ecluster.name=mynewclustername

Хотя привязка файлов конфигурации обычно предпочтительнее в рабочей среде, вы также можете создать пользовательский образ Docker, содержащий вашу конфигурацию.

Монтирование файлов конфигурации Elasticsearch

Создайте пользовательские файлы конфигурации и привяжите их к соответствующим файлам в образе Docker. Например, для привязки custom_elasticsearch.yml к docker run укажите:

-v full_path_to/custom_elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

Если вы привязываете пользовательский файл elasticsearch.yml, убедитесь, что он содержит параметр network.host: 0.0.0.0. Этот параметр гарантирует, что узел доступен для HTTP- и транспортного трафика, при условии, что его порты открыты. Встроенный файл elasticsearch.yml образа содержит этот параметр по умолчанию.

Контейнер запускает Elasticsearch как пользователь elasticsearch с uid:gid 1000:0. Привязанные хост-каталоги и файлы должны быть доступны этому пользователю, а каталоги данных и логов должны быть доступны для записи этому пользователю.

Создание зашифрованного хранилища ключей Elasticsearch

По умолчанию Elasticsearch автоматически создаст файл хранилища ключей для безопасных настроек. Этот файл замаскирован, но не зашифрован.

Чтобы зашифровать ваши безопасные настройки паролем и сохранить их вне контейнера, используйте команду docker run для создания хранилища ключей вручную. Команда должна:

  • Привязать каталог config. Команда создаст файл elasticsearch.keystore в этом каталоге. Чтобы избежать ошибок, не привязывайте непосредственно файл elasticsearch.keystore.
  • Использовать инструмент elasticsearch-keystore с опцией create -p. Вам будет предложено ввести пароль для хранилища ключей.

Например:

docker run -it --rm \
-v full_path_to/config:/usr/share/elasticsearch/config \
docker.elastic.co/elasticsearch/elasticsearch:8.17.3 \
bin/elasticsearch-keystore create -p

Вы также можете использовать команду docker run для добавления или обновления безопасных настроек в хранилище ключей. Вам будет предложено ввести значения параметров. Если хранилище ключей зашифровано, вам также будет предложено ввести пароль хранилища ключей.

docker run -it --rm \
-v full_path_to/config:/usr/share/elasticsearch/config \
docker.elastic.co/elasticsearch/elasticsearch:8.17.3 \
bin/elasticsearch-keystore \
add my.secure.setting \
my.other.secure.setting

Если хранилище ключей уже создано и не нужно его обновлять, вы можете напрямую привязать файл elasticsearch.keystore. Переменную среды KEYSTORE_PASSWORD можно использовать для предоставления пароля хранилища ключей контейнеру при запуске. Например, команда docker run может иметь следующие опции:

-v full_path_to/config/elasticsearch.keystore:/usr/share/elasticsearch/config/elasticsearch.keystore
-e KEYSTORE_PASSWORD=mypassword

Использование пользовательских образов Docker

В некоторых средах может быть целесообразнее подготовить пользовательский образ, содержащий вашу конфигурацию. Способ достижения этого может быть таким же простым, как:

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

Затем вы можете создать и запустить образ с помощью:

docker build --tag=elasticsearch-custom .
docker run -ti -v /usr/share/elasticsearch/data elasticsearch-custom

Некоторые плагины требуют дополнительных разрешений на безопасность. Вы должны явно принять их, либо:

  • Прикрепив tty при запуске образа Docker и разрешив разрешения при запросе.
  • Проверить разрешения на безопасность и принять их (если это уместно) добавив флаг --batch к команде установки плагина.

Дополнительную информацию см. в Управление плагинами.

Отладка ошибок Docker для Elasticsearch

Вот как решить распространенные ошибки при запуске Elasticsearch с Docker.

elasticsearch.keystore — это каталог

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.io.IOException: Is a directory: SimpleFSIndexInput(path="/usr/share/elasticsearch/config/elasticsearch.keystore") Likely root cause: java.io.IOException: Is a directory

Команда, связанная с хранилищем ключей docker run, пыталась напрямую привязать несуществующий файл elasticsearch.keystore. Если вы используете флаги -v или --volume для монтирования несуществующего файла, Docker вместо этого создаёт каталог с тем же именем.

Чтобы исправить эту ошибку:

  1. Удалите каталог elasticsearch.keystore в каталоге config.
  2. Обновите флаги -v или --volume для указания пути к каталогу config, а не пути к файлу хранилища ключей. Пример см. в Создание зашифрованного хранилища ключей Elasticsearch.
  3. Повторите команду.

elasticsearch.keystore: Устройство или ресурс занят

Exception in thread "main" java.nio.file.FileSystemException: /usr/share/elasticsearch/config/elasticsearch.keystore.tmp -> /usr/share/elasticsearch/config/elasticsearch.keystore: Device or resource busy

Команда, связанная с хранилищем ключей docker run, пыталась обновить хранилище ключей при непосредственной привязке файла elasticsearch.keystore. Для обновления хранилища ключей контейнеру необходим доступ к другим файлам в каталоге config, например, к файлу keystore.tmp.

Чтобы исправить эту ошибку:

  1. Обновите флаги -v или --volume для указания пути к каталогу config, а не пути к файлу хранилища ключей. Пример см. в Создание зашифрованного хранилища ключей Elasticsearch.
  2. Повторите команду.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docker.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API