Обзор развертывания Portainer на сервере¶
Предварительные требования и основные условия¶
Перед развертыванием сервер должен соответствовать следующим требованиям:
-
Операционная система: Дистрибутивы на базе Debian, Ubuntu, CentOS или RHEL.
-
Права доступа: Требуется доступ с правами root или эквивалентными правами
sudo. -
Сетевое подключение: Для загрузки пакетов и образов контейнеров необходим доступ к интернету.
-
Домен: Развертывание использует зону домена
hostkey.in. -
Порты: Порт
9000должен быть доступен и открыт в межсетевом экране (firewall) сервера.
FQDN итоговой панели¶
Приложение доступно по следующему формату полного доменного имени (FQDN):
-
docker<Server ID>.hostkey.in:9000 -
Примечание: Заполнитель
<Server ID>представляет собой уникальный идентификатор, назначенный вашему экземпляру сервера. Префикс фиксирован и равенdocker.
Структура файлов и каталогов¶
Развертывание использует следующие каталоги и файлы:
-
Конфигурация демона Docker:
/etc/docker/daemon.json -
Сокет Docker:
/var/run/docker.sock -
Данные контейнера: Управляются внутри файловой системы контейнера Docker (данные Portainer сохраняются посредством системы управления томами движка Docker, хотя предоставленная конфигурация монтирует сокет для управления).
Процесс установки приложения¶
Процесс развертывания включает установку Docker Engine и немедленное развертывание контейнера Portainer. Ниже описано итоговое состояние:
-
Обновление пакетов: Системные пакеты обновляются до последних версий.
-
Установка Docker Engine: Docker Engine (Community Edition) устанавливается с использованием пакетного менеджера, специфичного для дистрибутива.
-
SDK Docker для Python: Устанавливается
python3-dockerили SDKdockerдля управления контейнерами через скрипты. -
Конфигурация Docker: Пользовательский файл
daemon.jsonразвертывается в директории/etc/docker/. -
Активация сервиса: Сервис Docker активируется для запуска при старте системы и запускается немедленно.
-
Развертывание контейнера: Контейнер Portainer CE загружается из реестра и запускается с указанной конфигурацией.
Контейнеры Docker и их развертывание¶
Приложение работает как отдельный контейнер Docker со следующими параметрами конфигурации:
| Параметр | Значение | Описание |
|---|---|---|
| Имя контейнера | portainer | Внутренний идентификатор контейнера. |
| Образ | portainer/portainer-ce | Официальный образ Portainer Community Edition. |
| Политика перезапуска | always | Гарантирует автоматический перезапуск контейнера после сбоя или перезагрузки. |
| Маппинг портов хоста | 9000:9000 | Связывает порт 9000 хоста с портом 9000 контейнера. |
| Монтирование тома | /var/run/docker.sock:/var/run/docker.sock | Предоставляет контейнеру контроль над движком Docker хоста. |
| Загрузка образа | yes | Гарантирует загрузку последней версии образа перед запуском. |
Права доступа и безопасность¶
-
Межсетевой экран (Firewall): Порт
9000должен быть доступен. Убедитесь, что межсетевой экран сервера (например,ufw,firewalld) разрешает входящие TCP-соединения на этом порту. -
Доступ к сокету Docker: Контейнер имеет прямой доступ к сокету Docker хоста (
/var/run/docker.sock), что позволяет ему управлять всеми контейнерами и ресурсами Docker на хосте. -
Права пользователя: Установка требует привилегий уровня root для настройки демона Docker и монтирования сокета.
Запуск, остановка и обновление¶
После развертывания сервис Docker и контейнер Portainer управляются с помощью стандартных команд Docker:
-
Запуск сервиса Docker:
-
Включение запуска Docker при загрузке:
-
Перезапуск контейнера Portainer:
-
Остановка контейнера Portainer:
-
Обновление образа Portainer и перезапуск: Для обновления загрузите последнюю версию образа и перезапустите контейнер:
Расположение файлов конфигурации и данных¶
-
Конфигурация демона Docker: Конфигурация демона хранится по пути
/etc/docker/daemon.json. -
Данные Portainer: Portainer хранит свою базу данных и конфигурацию в записываемом слое контейнера Docker. Поскольку предоставленная конфигурация не определяет отдельный постоянный том (persistent volume) для каталога данных Portainer, данные находятся внутри файловой системы контейнера. Повторное выполнение установки может привести к потере данных, если контейнер будет удален до того, как эта конфигурация будет изменена для включения монтирования постоянного тома для пути к данным.
Доступные порты для подключения¶
- Порт 9000: Основной HTTP-порт для доступа к веб-интерфейсу Portainer.