Обновлена 30 июля 2026 г. в 16:49
Запуск кластера в CI
При работе в CI возникает необходимость запускать Docker в Docker или другой виртуальной среде. В примере описано, как при таком подходе решить возможную проблему с передачей локальной папки в Docker-образ.
Содержание:
Для выполнения примера требуются:
-
установленный Docker-образ Tarantool DB;
-
приложение Docker compose;
-
исходные файлы примера
up_in_ci.
Перейдите в директорию up_in_ci:
cd ./docs/docs/ru/assets/examples/up_in_ci/
Запустите кластер Tarantool DB:
docker compose up -d --build
Контейнер user-host указывается в файле docker-compose.yml.
Подробное описание контейнера приводится в руководстве по запуску кластера через Docker compose в разделе Контейнер user-host.
В примере конфигурация контейнера user-host выглядит так:
user-host:build:context: .dockerfile: bootstrap.Dockerfilenetworks:- tarantooldb_networkenvironment:- TARANTOOLDB_TARGET_URI=tarantool-router:8081working_dir: /bootstrap/command: sh -c "./bootstrap.sh && ./health_check.sh && ./migrate.sh"depends_on:- tarantool-router- tarantool-storage1- tarantool-storage2- tarantool-storage3- tarantool-storage4
Здесь:
build.context.dockerfile— сборка отдельного контейнера, в который копируются папкаbootstrapи пользовательские скрипты;networks— название подсети;environment— задание переменных окружения:TARANTOOLDB_TARGET_URI— адрес, по которому доступны API-команды кластера. Используется скриптами bootstrap.sh, health_check.sh и migrate.sh;
working_dir— директория, в которой лежат файл конфигурации и файлы миграций;command— запуск скриптов bootstrap.sh, health_check.sh и migrate.sh;depends_on— секция определяет, что контейнерuser-hostзапускается только после запуска всех остальных узлов кластера;volumes— передача в контейнер директории с настройками кластера и пользовательской логикой, чтобы они стали доступны для скриптов.
Остановить стенд можно так:
docker compose down