Перейти к основному содержанию Перейти к навигации Перейти к нижнему колонтитулу

Жизненный цикл репозитория

Создание зашифрованного репозитория, развёртывание контейнерного приложения, инспекция контейнеров и очистка.

Как развёртывать и управлять репозиториями с Rediacc

Репозитории, это основная единица развёртывания в Rediacc. Каждый из них представляет собой изолированную зашифрованную среду с собственным Docker daemon и выделенным хранилищем. В этом руководстве вы создадите зашифрованный репозиторий, развернёте контейнерное приложение, проверите работающие контейнеры и выполните очистку. По завершении вы пройдёте полный цикл развёртывания.

Предварительные требования

  • Установленный CLI rdc с инициализированной конфигурацией
  • Подготовленная машина (см. Руководство: Настройка машины)
  • Простое приложение с Rediaccfile и docker-compose.yml

Интерактивная запись

Шаг 1: Создание зашифрованного репозитория

Каждый репозиторий получает собственный том хранения с шифрованием LUKS. Укажите машину и размер хранилища.

rdc repo create --name test-app -m server-1 --size 2G

Rediacc создаёт зашифрованный том размером 2 ГБ, форматирует его и автоматически монтирует. Репозиторий готов для загрузки файлов.

Шаг 2: Список репозиториев

Убедитесь, что новый репозиторий доступен.

rdc repo list -m server-1

Показывает все репозитории на машине с их размером, состоянием монтирования и состоянием шифрования.

Шаг 3: Проверка пути монтирования

Перед развёртыванием убедитесь, что хранилище репозитория смонтировано и доступно.

rdc term connect -m server-1 -c "ls -la /mnt/rediacc/mounts/test-app/"

Каталог монтирования, это место, где находятся файлы приложения: Rediaccfile, docker-compose.yml и тома данных.

Шаг 4: Запуск сервисов

Разверните приложение, смонтировав репозиторий и запустив его Docker-сервисы.

rdc repo up --name test-app -m server-1 --mount

Это монтирует репозиторий (если он ещё не смонтирован), запускает изолированный Docker daemon и запускает сервисы через up().

Примечание: Первое развёртывание занимает больше времени из-за загрузки Docker-образов. Последующие запуски используют кэшированные образы.

Шаг 5: Просмотр запущенных контейнеров

rdc machine containers server-1

Показывает все запущенные контейнеры во всех репозиториях на машине, включая использование ЦП и памяти.

Шаг 6: Доступ к терминалу репозитория

Для выполнения команд в изолированной Docker-среде репозитория:

rdc term connect -m server-1 -r test-app -c "docker ps"

Терминальная сессия устанавливает DOCKER_HOST на изолированный Docker-сокет репозитория. Любая команда Docker выполняется только для контейнеров этого репозитория.

Шаг 7: Остановка и очистка

Когда закончите, остановите сервисы, закройте зашифрованный том и при необходимости удалите репозиторий.

rdc repo down --name test-app -m server-1  # Остановить сервисы
rdc repo unmount --name test-app -m server-1  # Закрыть зашифрованный том
rdc repo delete --name test-app -m server-1  # Удалить репозиторий навсегда

down останавливает контейнеры и Docker daemon. unmount закрывает том LUKS. delete безвозвратно удаляет репозиторий и его зашифрованное хранилище.

Предупреждение: repo delete необратим. Все данные в репозитории будут уничтожены. При необходимости сначала создайте резервную копию.

Устранение неполадок

«Недостаточно места на диске» при создании репозитория Зашифрованному тому требуется непрерывное свободное пространство на хосте. Проверьте доступное место с помощью df -h на сервере. Рассмотрите меньшее значение --size или освободите дисковое пространство.

Тайм-аут загрузки Docker-образа во время repo up Большие образы могут превышать время ожидания на медленных соединениях. Повторите попытку с rdc repo up, загрузка возобновится с того места, где остановилась. Для изолированных сред предварительно загрузите образы в Docker daemon репозитория.

«Ошибка монтирования» или «Ошибка открытия LUKS» Парольная фраза LUKS выводится из конфигурации. Убедитесь, что вы используете ту же конфигурацию, которой был создан репозиторий. Если том уже смонтирован другим процессом, сначала размонтируйте его.

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

Вы создали зашифрованный репозиторий, развернули приложение, проверили контейнеры и выполнили очистку. Для мониторинга ваших развёртываний: