Перейти к содержанию

Обзор развертывания CapRover на сервере

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

Перед развертыванием CapRover на сервере должны быть выполнены следующие требования:

  • Операционная система: Linux-дистрибутив на базе Debian.

  • Привилегии: Для установки Docker и управления системными службами требуются права root или привилегии sudo.

  • Конфигурация домена: Для поддомена *.caprover<Server ID>.hostkey.in должна быть настроена запись DNS типа A с подстановочным знаком (wildcard), указывающая на публичный IP-адрес сервера.

  • Порты: Порты 80, 443 и 3000 должны быть открыты и доступны на сервере.

FQDN финальной панели

Панель управления CapRover доступна по следующему полному доменному имени (FQDN):

  • caprover<Server ID>.hostkey.in

Панель работает на стандартных портах HTTP и HTTPS.

Процесс установки приложения

CapRover развертывается в виде одного Docker-контейнера. Процесс установки включает следующие шаги:

  1. Убедитесь, что движок Docker установлен и запущен на сервере.

  2. Выполните команду docker run для запуска контейнера CapRover с необходимыми переменными окружения и монтированием томов.

  3. Контейнер настроен на автоматическое принятие условий использования через переменную окружения ACCEPTED_TERMS.

Конкретная команда, используемая для развертывания приложения:

docker run -p 80:80 -p 443:443 -p 3000:3000 -e ACCEPTED_TERMS=true -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover

Docker-контейнеры и их развертывание

Развертывание основано на одном образе контейнера из официального репозитория CapRover.

  • Имя образа: caprover/caprover

  • Сопоставление портов:

  • Порт хоста 80 сопоставляется с портом контейнера 80.

  • Порт хоста 443 сопоставляется с портом контейнера 443.

  • Порт хоста 3000 сопоставляется с портом контейнера 3000.

  • Монтирование томов:

  • /var/run/docker.sock монтируется в /var/run/docker.sock внутри контейнера, чтобы позволить CapRover управлять другими Docker-контейнерами.

  • /captain на хосте монтируется в /captain внутри контейнера для постоянного хранения данных.

  • Переменные окружения:

  • ACCEPTED_TERMS установлена в значение true.

Структура файлов и каталогов

Развертывание использует следующую структуру каталогов на хост-системе:

  • /captain: Этот каталог хранит все постоянные данные, включая конфигурации приложений, логи и файлы баз данных, управляемые CapRover.

  • /var/run/docker.sock: Файл сокета Docker, который монтируется в контейнер для обеспечения возможностей оркестрации контейнеров.

Права доступа и безопасность

Безопасность и доступ управляются следующими механизмами:

  • Межсетевой экран (Firewall): Порты 80, 443 и 3000 должны быть разрешены через межсетевой экран сервера для обеспечения внешнего доступа к панели и развернутым приложениям.

  • Сокет Docker: Контейнеру требуется доступ к сокету Docker, что дает ему возможность создавать и управлять другими контейнерами на хосте. Это стандартное требование для функциональности CapRover.

  • DNS: Для *.caprover<Server ID>.hostkey.in настроена запись A с подстановочным знаком для маршрутизации трафика на IP-адрес сервера.

Доступные порты для подключения

Следующие порты открыты и доступны для подключения:

Порт Протокол Описание
80 TCP HTTP-трафик для панели CapRover и развернутых приложений.
443 TCP HTTPS-трафик для безопасного доступа к панели и приложениям.
3000 TCP Альтернативный порт для доступа к CapRover, если стандартные порты недоступны.

Запуск, остановка и обновление

Поскольку CapRover развернут как автономный Docker-контейнер, для управления его жизненным циклом используются стандартные команды Docker:

  • Запуск: Контейнер запускается с помощью команды docker run, приведенной в разделе установки. Если контейнер остановлен, его можно перезапустить с помощью docker start <container_id>.

  • Остановка: Для остановки работающего экземпляра используйте docker stop <container_id>.

  • Обновление: Для обновления CapRover до последней версии загрузите новый образ с помощью docker pull caprover/caprover, а затем пересоздайте контейнер, используя ту же команду docker run с обновленным образом.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×