TDB Documentation portal logo
Помощь
Обновлена 30 июня 2026 г. в 07:00

Запуск кластера через Docker Compose

В этом руководстве показано, как запустить кластер Tarantool DB с помощью Docker Compose.

Содержание:

Пререквизиты

Для выполнения примера требуются:

  • установленные Docker-образы Tarantool DB, Prometheus и Grafana;

  • приложение Docker Compose;

  • исходные файлы примера up_with_docker_compose.

Запуск стенда

Перейдите в директорию примера up_with_docker_compose:

cd ./docs/docs/ru/assets/examples/up_with_docker_compose/

Запустите кластер Tarantool DB:

make start

Команда последовательно выполняет следующие шаги:

  1. Запускает централизованное хранилище конфигурации — кластер etcd;
  2. Загружает конфигурацию кластера в централизованное хранилище;
  3. Запускает кластер Tarantool DB;
  4. Загружает миграции в кластер и выполняет их.

Запущенный стенд состоит из:

  • кластера Tarantool DB:
  • кластера etcd из 3 узлов;
  • средств мониторинга (Prometheus, Grafana).

После запуска должны работать все контейнеры, кроме init_host.

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

Для входа в веб-интерфейс TCM откройте в браузере адрес http://localhost:8081. Логин и пароль для входа:

  • Username: admin
  • Password: secret

В TCM откройте вкладку Stateboard. После применения настроек кластер будет выглядеть так:

Запуск кластера через Docker Compose

Используемые файлы

В руководстве используются следующие файлы примера up_with_docker_compose:

  • cluster/ — директория c файлами для запуска кластера Tarantool DB:
    • config.yml — конфигурация и топология кластера;
    • docker-compose.yml — описание узлов кластера Tarantool DB;
    • migrations/scenario — директория, содержащая файлы с описанием миграций;
  • tools/ — директория с файлами для запуска кластера etcd и средств мониторинга:
    • grafana/ — директория, содержащая настройки для ведения мониторинга;
    • prometheus/ — директория, содержащая настройки Prometheus для сбора и передачи метрик в Grafana;
    • docker-compose.yml — описание узлов кластера etcd и средств мониторинга;
    • tcm.yml — конфигурация для запуска Tarantool Cluster Manager;
  • Makefile — инструкции для утилиты make для запуска и остановки всего стенда.

Конфигурация контейнера для узла Tarantool DB

Конфигурация контейнера для узла Tarantool DB задается в файле docker-compose.yml:

tarantool-router-msk:image: tarantooldb:3x-latestnetworks:  - tarantooldb_networkports:  - "3301:3301"environment:  - TT_INSTANCE_NAME=router-msk  - TT_CONFIG_ETCD_ENDPOINTS=http://etcd1:2379,http://etcd2:2379,http://etcd3:2379  - TT_CONFIG_ETCD_PREFIX=/tdb  - TT_CONFIG_ETCD_HTTP_REQUEST_TIMEOUT=3

Здесь:

  • image — название Docker-образа, используемого для создания контейнера;

  • networks-- название подсети;

  • ports — используемые порты;

  • environment — переменные окружения для опций Tarantool:

    • TT_INSTANCE_NAME — имя экземпляра в кластере;
    • TT_CONFIG_ETCD_ENDPOINTS — адреса централизованного хранилища конфигурации;
    • TT_CONFIG_ETCD_PREFIX — адрес данных кластера Tarantool DB в централизованном хранилище конфигурации;
    • TT_CONFIG_ETCD_HTTP_REQUEST_TIMEOUT — таймаут запроса для получения конфигурации.

    Полный список опций доступен в описании Docker-образа Tarantool DB.

Контейнер init_host

В файле cluster/docker-compose.yml есть специальный контейнер init_host. С этого контейнера выполняются:

  1. Загрузка клиентского кода (миграций) в кластер и его применение: описание спейсов и функций.
  2. Добавление кластера в веб-интерфейс.

Остановка стенда

Остановить стенд можно так:

make stop