Управление проектами Docker Compose из панели: оркестровка нескольких контейнеров
Разверните свои проекты, содержащие docker-compose.yml, через панель VDS. Зависимости сервисов, управление томами, внедрение env и масштабирование операций увеличения/уменьшения из интерфейса.
#docker
#docker compose
#container
#orkestrasyon
VDS Panel Ekibi
Ürünü geliştiren ekip
~8 dk
okuma
Технический
kategori
Современные приложения больше не представляют собой просто один контейнер. API-сервер, база данных, кеш, очередь, рабочий процесс. Типичному веб-приложению требуется 4–6 контейнеров. Docker Compose позволяет вам определить эту экосистему в одном файле YAML и запустить ее с помощью одной команды.
В этой статье мы объясним, что такое Docker Compose, как VDS Panel управляет проектами Compose, а также дадим практические советы по использованию Compose в производстве.
Bir bakışta
1 ЯМЛ
вся стопка
∞
Количество услуг
Автоматический
Управление зависимостями
Горячий
Перезагрузка конфигурации
Что такое Docker Compose?
Compose — это определение нескольких контейнеров Docker для взаимодействия друг с другом, подключения к общей сети, томов и политик перезапуска в одном YAML. Пример:
Р0
По команде P0 весь стек встает. Благодаря P1 API не запускается, пока не будет готов postgres.
Составление управления из панели
Панель VDS проверяет наличие P0 при добавлении проекта. Если доступно:
01
Созданный файл анализируется
Панель определяет каждый сервис, загружает или создает образы. Тома, сети и зависимости устанавливаются автоматически.
02
Переменные Env вводятся
Конверты из секретного хранилища панели вводятся в yml. Он не записывается в Git и не попадает в историю терминала.
03
Службы начинаются в нормальном порядке
Соблюдаются директивы depend_on и healthcheck. API не запустится, пока Postgres не будет готов.
04
Панель управляет каждой услугой отдельно
На уровне сервиса операции регистрации, перезапуска, масштабирования и остановки выполняются из интерфейса.
Compose против Kubernetes
Для малых и средних проектов Compose намного проще, чем Kubernetes. Но по мере увеличения масштаба появляются ограничения.
Простой
Докер Составление
Ориентирован на один сервер
YAML короче и читабельнее.
Быстрая установка (минуты)
Нет сервисной сетки
Подвижное обновление ограничено
Нет автоматического масштабирования
масштабируемый
Кубернетес (K3s)
Многоузловой кластер
Развертывание + Сервис + Ингресс отдельно
Кривая обучения крутая
Встроенная сервисная сетка
Стандарт скользящего обновления
Автоматическое масштабирование с помощью HPA
Панель VDS поддерживает оба варианта. Для небольших проектов Compose, по мере увеличения масштаба вы переходите на модуль K3s.
Практический пример Compose: полный стек Node.js
Реальный сценарий: Node.js API, PostgreSQL, кеш Redis, очередь RabbitMQ, рабочий сервис.
П1
Панель VDS обнаруживает этот файл, извлекает переменную P0 из секретного хранилища и загружает пять контейнеров в работоспособном порядке. Он запускает службу Worker как 2 экземпляра.
Масштабирование
Поддерживает простое масштабирование с помощью Compose P0. Вы можете изменить это число с помощью ползунка в интерфейсе панели. Удаление 2 → 5 рабочих — один клик.
Заявленные и услуги без гражданства
Для масштабирования оно должно быть без состояния обслуживания. Информация о сеансе находится в Redis, а не в памяти, а загрузки выполняются в MinIO, а не на диске. Он не позволяет масштабировать службу состояния панели (например, Postgres), поскольку она должна быть единственным экземпляром.
Управление сетью
По умолчанию Compose создает выделенную сеть для каждого проекта. Службы обращаются друг к другу по имени контейнера (P0, P1). Порты, которые предназначены для открытия внешнему миру, определяются директивой P2.
Панель VDS для безопасности:
К Интернету подключаются только общедоступные порты.
Доступ к службам, привязанным к локальному хосту (например, 127.0.0.1:3000:3000), возможен только через прокси-сервер nginx.
Внутриконтейнерное движение полностью изолировано
Управление томами
Постоянные данные хранятся в томах. Объемы панели VDS:
Префиксы с названием проекта (без конфликтов)
Ежедневное автоматическое резервное копирование (зашифрованное с помощью возраста или gpg)
Срок хранения 30 дней
Поддерживается загрузка S3 или R2
P0 не удаляет тома; данные остаются в безопасности. Удаляется только когда говоришь Р1 (панель по умолчанию сохраняет громкость).
Безопасность файла Env
Никогда не фиксируйте файлы P0 в git. Панель управления окружением:
Переменные зашифрованы в БД панели.
Он вводится в контейнер во время выполнения.
В файл не пишется, только в среду процесса
Управление переменными из пользовательского интерфейса панели администратора.
Заключение
Docker Compose — это стандартный способ определения современных многоконтейнерных приложений и управления ими в одном файле YAML. VDS Panel понимает этот файл, автоматически все это поддерживает и позволяет управлять такими операциями, как масштабирование, мониторинг журналов, управление окружением из интерфейса.
Если вы не уверены, готовы ли перейти на Kubernetes, начните с Compose. Когда проект вырастет, вас ждет K3s модуль панели. Для получения подробной информации свяжитесь с нами через контактную форму.
Современный опыт развертывания на вашем собственном сервере, всего в одном сообщении.
Позвольте нам понять ваш сценарий использования и подготовить для вас соответствующую лицензию и план установки. Наше среднее время ответа составляет менее 24 часов.