Как развёртывать и управлять репозиториями с 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 выводится из конфигурации. Убедитесь, что вы используете ту же конфигурацию, которой был создан репозиторий. Если том уже смонтирован другим процессом, сначала размонтируйте его.
Следующие шаги
Вы создали зашифрованный репозиторий, развернули приложение, проверили контейнеры и выполнили очистку. Для мониторинга ваших развёртываний:
- Сервисы, справочник Rediaccfile, сети сервисов, автозапуск и многосервисные конфигурации
- Руководство: Мониторинг и диагностика, проверки работоспособности, инспекция контейнеров и диагностика
- Инструменты, терминал, синхронизация файлов и интеграция с VS Code