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

Обзор развертывания 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. Ниже описано итоговое состояние:

  1. Обновление пакетов: Системные пакеты обновляются до последних версий.

  2. Установка Docker Engine: Docker Engine (Community Edition) устанавливается с использованием пакетного менеджера, специфичного для дистрибутива.

  3. SDK Docker для Python: Устанавливается python3-docker или SDK docker для управления контейнерами через скрипты.

  4. Конфигурация Docker: Пользовательский файл daemon.json развертывается в директории /etc/docker/.

  5. Активация сервиса: Сервис Docker активируется для запуска при старте системы и запускается немедленно.

  6. Развертывание контейнера: Контейнер 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:

    systemctl start docker
    

  • Включение запуска Docker при загрузке:

    systemctl enable docker
    

  • Перезапуск контейнера Portainer:

    docker restart portainer
    

  • Остановка контейнера Portainer:

    docker stop portainer
    

  • Обновление образа Portainer и перезапуск: Для обновления загрузите последнюю версию образа и перезапустите контейнер:

    docker pull portainer/portainer-ce
    docker restart portainer
    

Расположение файлов конфигурации и данных

  • Конфигурация демона Docker: Конфигурация демона хранится по пути /etc/docker/daemon.json.

  • Данные Portainer: Portainer хранит свою базу данных и конфигурацию в записываемом слое контейнера Docker. Поскольку предоставленная конфигурация не определяет отдельный постоянный том (persistent volume) для каталога данных Portainer, данные находятся внутри файловой системы контейнера. Повторное выполнение установки может привести к потере данных, если контейнер будет удален до того, как эта конфигурация будет изменена для включения монтирования постоянного тома для пути к данным.

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

  • Порт 9000: Основной HTTP-порт для доступа к веб-интерфейсу Portainer.
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×