Перейти к содержимому
Главная страница » Запуск Elasticsearch и Kibana в Docker

Запуск Elasticsearch и Kibana в Docker

Официальные образ Elasticsearch и Kibana для Docker доступны по адресу https://www.docker.elastic.co/ именно их мы и будем использовать при развертке сервисов.

Там же на сайте мы можем узнать последнюю версию нужного продукта:

Запуск Elasticsearch в Docker

Приступим и настроим кластер Elasticsearch из одного узла, для этого будем использовать файл docker-compose.yml, создадим каталог elastic:

mkdir -p /elastic

Перейдем в созданный каталог:

cd /elastic

И с помощью nano создадим файл docker-compose.xml:

version: '2.2'
services:
  node01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.11.1
    container_name: node01
    environment:
      - node.name=node01
      - cluster.name=es-cluster-7
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms128m -Xmx128m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es-data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es-network

volumes:
  es-data01:
    driver: local
    #external: true

networks:
  es-network:
    driver: bridge

Файл docker-compose определяет, какие сервисы и контейнеры будут запускаться с какими ресурсами (например, с томами данных и сетями). 
Если посмотреть на приведенный выше файл, то в разделе environment мы указываем конфигурации elasticsearch. 
Мы просто указываем имя узла, имя кластера и самую важную конфигурацию «discovery type».  Поскольку мы собираемся запустить кластер из одного узла, тип обнаружения должен быть «single-node».

Теперь развернем нашу ноду:

docker-compose up

Для проверки выполним команду:

curl localhost:9200

Мы должны получить аналогичный вывод:

{
“name” : “node01”,
“cluster_name” : “es-cluster-7”,
“cluster_uuid” : “Uz5DlxTDSlG4mjE_IJufrg”,
“version” : {
“number” : “7.11.1”,
“build_flavor” : “default”,
“build_type” : “docker”,
“build_hash” : “ff17057114c2199c9c1bbecc727003a907c0db7a”,
“build_date” : “2021–02–15T13:44:09.394032Z”,
“build_snapshot” : false,
“lucene_version” : “8.7.0”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}

Мы только что запустили наш кластер Elasticsearch. Теперь необходимо подключить к этому кластеру экземпляр Kibana, чтобы мы могли создавать запросы в пользовательском интерфейсе, а не в командной строке.

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

docker-compose down

Запуск Kibana в Docker

Отредактируем уже созданный нами файл docker-compose.yml и добавим в него сервис kibana:

version: '2.2'
services:
  node01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.11.1
    container_name: node01
    environment:
      - node.name=node01
      - cluster.name=es-cluster-7
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms128m -Xmx128m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es-data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es-network

  kibana:
    image: docker.elastic.co/kibana/kibana:7.11.1
    environment:
      ELASTICSEARCH_HOSTS: http://node01:9200
    ports:
      - 5601:5601
    networks:
      - es-network
    depends_on:
      - node01

volumes:
  es-data01:
    driver: local

networks:
  es-network:
    driver: bridge

Запустите обе службы с помощью команды:

docker-compose up

В течение минуты или двух мы должны увидеть журналы, отображающие состояние нашего кластера Elasticsearch, а также процесс запуска Kibana. 
Чтобы получить доступ к экземпляру Kibana, откройте веб-браузер и введите: 
http://localhost:5601

Теперь мы можем запускать запросы в визуальном интерфейсе!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *