Гид по технологиям

Portainer для Docker — установка и руководство

10 min read Docker Обновлено 24 Dec 2025
Portainer для Docker — установка и руководство
Portainer для Docker — установка и руководство

TL;DR

Portainer — лёгкий графический интерфейс для управления Docker (и Kubernetes в версиях 2.x). Руководство показывает, как установить Portainer локально, подключать endpoints, создавать и управлять контейнерами и стеками, а также даёт практические чеклисты, сценарии восстановления и рекомендации по выбору инструментов.

Важно: перед началом убедитесь, что Docker запущен и доступен. Portainer требует Docker 19.03 или новее для полной поддержки всех функций.


Быстрые ссылки

  • Установка Portainer
  • Первый запуск
  • Endpoints
  • Управление контейнерами
  • Создание контейнера
  • Использование стеков
  • Удобство Portainer

Введение

Portainer — популярный GUI для Docker, который помогает визуализировать контейнеры, образы, тома и сети. Он упрощает управление ресурсами Docker на вашей машине и часто позволяет избежать длинных команд в терминале.

Начиная с версии 2.0, Portainer поддерживает Kubernetes-пулы. Инструмент также совместим с Docker Swarm и Azure ACI. В этом руководстве мы сосредоточимся на локальной установке Portainer для управления локальным Docker Engine.

Существуют две редакции Portainer: бесплатная и открытая CE (Community Edition) и коммерческая Business. Коммерческая версия добавляет расширенные возможности управления доступом, квотирования и административного контроля.

Иллюстрация Portainer на ноутбуке

ALT: Иллюстрация интерфейса Portainer на экране ноутбука с видимыми панелями управления контейнерами

Перед началом

Коротко о требованиях и терминах:

  • Docker Engine должен быть установлен и запущен. Проверьте версию с помощью docker –version.
  • Docker 19.03+ рекомендуется для полной поддержки функций Portainer.
  • Endpoint — подключаемая сущность, представляющая Docker Engine, Swarm, ACI или Kubernetes кластер.

Определение: Endpoint — логический объект в Portainer, который соответствует удалённому или локальному Docker/Kubernetes экземпляру.

Установка Portainer

  1. Создайте постоянный Docker volume для хранения данных Portainer. Пример имени тома в руководстве — portainer_data:
portainer_data

Выполните команду для создания тома данных:

docker volume create portainer_data
  1. Запустите контейнер Portainer (Community Edition) с монтированием Docker socket и тома данных:
docker run -d -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Эта команда загрузит образ portainer/portainer-ce и запустит контейнер в фоновом режиме (ключ -d). Том portainer_data монтируется в /data внутри контейнера — здесь Portainer хранит свои данные. Сокет Docker на хосте монтируется внутрь контейнера, чтобы Portainer имел доступ к локальному Docker Engine. Порт 9000 на хосте проброшен на порт 9000 контейнера — это веб-интерфейс Portainer.

Панель endpoints Portainer

ALT: Экран Portainer с плитками endpoint’ов и кнопкой добавления нового подключения

Примечание: для продакшн-развёртывания рассмотрите использование TLS для безопасного подключения к удалённым Docker Engine и хранение тома данных на надёжном хранилище.

Первый запуск

Откройте браузер и перейдите по адресу http://localhost:9000. При первом запуске Portainer предложит установить пароль для пользователя admin. После входа вы попадёте на экран Home.

Экран настроек Portainer

ALT: Экран настроек Portainer с опциями безопасности, логотипа и сбора статистики

Зайдите в “Настройки” в левом меню, чтобы:

  • Настроить параметры безопасности
  • Установить собственный логотип приложения
  • Отключить отправку анонимных статистических данных

Большинство настроек направлены на ограничение прав неадминистраторов и улучшение поведения приложения для вашей среды.

Экран аутентификации Portainer

ALT: Экран настроек аутентификации Portainer с опциями LDAP и OAuth

В разделе “Аутентификация” можно выбрать способ входа: встроенная база пользователей, LDAP или провайдер OAuth. Если используете встроенных пользователей, создавайте учётные записи через пункт “Пользователи” и группируйте их в команды.

Endpoints

Portainer позволяет управлять несколькими Docker endpoint’ами. По умолчанию вы увидите endpoint с именем local, который соответствует Docker Engine на вашей машине.

Управление endpoint'ами в Portainer

ALT: Экран добавления endpoint’а в Portainer с выбором типа подключения и формой параметров

Чтобы добавить новый endpoint:

  1. Нажмите “Endpoints” в боковом меню.
  2. Кликните синюю кнопку “Добавить endpoint”.
  3. Выберите тип (Docker, Agent, Azure ACI, Kubernetes) и заполните параметры подключения.

Если всё настроено верно, новый endpoint появится в виде плитки на домашнем экране Portainer. Заметьте: подробные инструкции по настройке удалённого хоста зависят от вашей инфраструктуры и не охватываются в этом вводном руководстве.

Управление контейнерами

Выберите endpoint local на домашнем экране Portainer. Откроется панель с обзором контейнеров, образов и томов.

Дашборд Portainer

ALT: Дашборд Portainer с метриками контейнеров, образов и томов

Кликните “Containers” в боковом меню, чтобы открыть экран управления контейнерами. Вы увидите таблицу со списком всех контейнеров.

Экран управления контейнерами Portainer

ALT: Список контейнеров в Portainer с действиями Start/Stop/Remove

Действия над контейнером:

  • Отметьте чекбокс рядом с контейнером.
  • Используйте кнопки сверху для старта, остановки, перезапуска или удаления.

Состояние контейнера отображается цветовой меткой: зелёный — running, красный — stopped.

Если у вас свежая установка Docker, возможно, единственный контейнер — сам Portainer. Не останавливайте этот контейнер, иначе потеряете доступ к веб-интерфейсу.

Экран деталей контейнера Portainer

ALT: Экран с подробной информацией о контейнере, включая логи, статистику и консоль

Экран деталей контейнера позволяет:

  • Просматривать свойства контейнера
  • Создать образ из текущего состояния
  • Управлять сетевыми подключениями
  • Просматривать логи (Logs), инспектировать манифест (Inspect), смотреть статистику использования ресурсов (Stats), открывать интерактивную консоль (Console) и прикреплять консоль к процессу (Attach)

Кнопки вверху экрана дают быстрый доступ к этим функциям.

Создание контейнера

На экране Containers нажмите “Добавить контейнер“. Также можно отредактировать существующий контейнер через “Дублировать/Изменить” — это фактически создаст новый контейнер с изменёнными параметрами.

Создание контейнера в Portainer

ALT: Форма создания контейнера в Portainer с полями для имени, образа и параметров

Шаги для развёртывания контейнера:

  1. Укажите имя контейнера.
  2. В поле Image укажите Docker-образ, например wordpress:latest.
  3. Если образ в публичном Docker Hub — достаточно имени образа. Для приватных реестров добавьте учетные данные в разделе “Регистры”.

Управление регистрами в Portainer

ALT: Экран управления регистрами в Portainer с формой добавления нового реестра (URL, имя пользователя, пароль)

Чтобы подключить приватный реестр:

  1. Перейдите в “Настройки” → “Регистры”.
  2. Нажмите “Добавить регистр“.
  3. Введите URL, логин и пароль.

После этого вы сможете выбирать этот реестр в выпадающем списке при создании контейнера. Также можно указать учётные данные для Docker Hub, чтобы избежать ограничений rate limit для анонимных запросов.

Перед нажатием “Развернуть контейнер“ проверьте дополнительные параметры: проброс портов, опцию принудительного pull перед запуском, и автоматическое удаление контейнера при выходе.

Расширенные настройки контейнера Portainer

ALT: Раздел расширенных настроек контейнера в Portainer с параметрами команд, entrypoint, монтирования томов и сетей

Внизу формы находятся продвинутые настройки, дублирующие функциональность docker run: команда, entrypoint, тома, сети, переменные окружения и другие опции. Если вы знакомы с docker run, эта часть интерфейса будет для вас знакома.

Использование стеков

Portainer поддерживает стеки — набор связанных контейнеров, описанных в docker-compose.yml (Compose версии 2).

Управление стеками Portainer

ALT: Список стеков в Portainer с доступными действиями Stop, Remove, Duplicate

Как создать стек:

  1. Нажмите “Stacks” в навигации.
  2. Кликните “Добавить стек”.
  3. Вставьте или загрузите docker-compose.yml. Можно подключить Git-репозиторий и взять файл напрямую из него.

Создание стека в Portainer

ALT: Форма создания стека в Portainer с редактором docker-compose.yml и параметрами окружения

Перед развёртыванием стека можно задать переменные окружения и уровень контроля доступа. Нажмите “Развернуть стек” — Portainer подтянет образы и создаст все контейнеры, указанные в Compose-файле.

Управление стеком в Portainer

ALT: Экран управления стеком с перечислением контейнеров внутри стека и действиями над стеком

Выберите стек на экране Stacks для коллективного управления его контейнерами: остановить все, удалить стек, дублировать или создать шаблон.

Шаблоны приложений в Portainer

ALT: Галерея шаблонов приложений Portainer для быстрого развёртывания популярных сервисов

Шаблоны позволяют быстро разворачивать повторяющиеся сервисы. Portainer предлагает встроенные шаблоны, а также даёт возможность создавать собственные.

Удобство Portainer

Portainer упрощает быстрые операции: запуск контейнера, просмотр логов, подключение к консоли и управление томами/сетями. Это особенно полезно для команд, где часть участников не комфортно работать в терминале.

Управление образами в Portainer

ALT: Экран управления Docker образами в Portainer с кнопками Pull, Import, Export и Delete

Экран Images позволяет просматривать, подтягивать, импортировать, экспортировать и удалять образы. Экраны Networks и Volumes дают списки соответствующих ресурсов и позволяют ими управлять. Таблица Events предоставляет хронологию действий Docker Engine — полезно для аудита и отладки.

Когда Portainer подходит, а когда нет

Полезно понимать ограничения и альтернативы.

Когда Portainer подходит:

  • Нужна быстрая визуальная администрирование локального Docker или множества endpoint’ов.
  • Команде требуются шаблоны и удобные UI-инструменты для быстрого развёртывания.
  • Нужно сократить время на обучение пользователей, не знакомых с CLI.

Когда Portainer может не подойти:

  • В средах с жёсткими требованиями к безопасности и необходимости детального контроля доступа на уровне API — возможны ограничения в CE-версии.
  • Если инфраструктура уже централизована под Rancher, OpenShift или крупную Kubernetes платформу с собственными инструментами управления.
  • Для автоматизированных CI/CD пайплайнов обычно предпочтительнее использовать CLI/CI-интеграции, а не GUI.

Альтернативы и когда рассмотреть их:

  • Docker Desktop — удобен на рабочей станции разработчика, но менее пригоден для серверных установок.
  • Rancher — мощнее для управления множеством Kubernetes кластеров в продакшне.
  • Portus или Harbor — регистры образов с расширенными функциями безопасности.

Практические чеклисты по ролям

Чеклист администратора

  • Установить Portainer на выделенный хост.
  • Обеспечить резервное копирование тома portainer_data.
  • Настроить TLS для удалённых endpoint’ов.
  • Подключить внешнюю аутентификацию (LDAP/OAuth) при необходимости.
  • Настроить политики доступа и роли.

Чеклист DevOps-инженера

  • Подготовить docker-compose.yml для стека.
  • Настроить приватные регистры и проверить pull.
  • Создать шаблоны для повторяемых развёртываний.
  • Тестировать развёртывание стека в staging через Portainer.

Чеклист разработчика

  • Проверить доступ к Logs и Console для контейнера.
  • Использовать “Duplicate/Edit” для быстрого тестирования новых конфигураций.
  • Хранить compose-файлы в VCS и подключать репозиторий к Portainer при развёртывании.

SOP: Быстрая инструкция установки и настройки Portainer

  1. Убедиться, что Docker установлен и запущен (docker –version).
  2. Создать том для данных:
docker volume create portainer_data
  1. Запустить Portainer:
docker run -d -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
  1. Открыть http://localhost:9000, задать пароль admin.
  2. Перейти в “Настройки” и настроить безопасность.
  3. Добавить приватные регистры, если необходимо.
  4. Подключить дополнительные endpoint’ы через “Endpoints”.
  5. Создать шаблоны и стеки для повторяемых развёртываний.

Инцидентный плейбук: Portainer недоступен

Симптом: веб-интерфейс недоступен на порту 9000.

Шаги восстановления:

  1. Проверьте контейнер Portainer на хосте:
  • docker ps | grep portainer
  1. Если контейнер остановлен, просмотрите логи:
  • docker logs portainer
  1. Попробуйте перезапустить контейнер:
  • docker restart portainer
  1. Если контейнер не запускается из-за повреждённого тома данных, запустите временный контейнер с тем же образом без монтирования /data для проверки:
  • docker run -d -p 9000:9000 portainer/portainer-ce
  1. Если проблема в конфигурации или повреждении данных, восстановите том из резервной копии или пересоздайте его, учитывая возможную потерю состояния.

Критерии успеха: веб-интерфейс снова доступен, и список endpoint’ов корректен.

Decision flowchart для выбора интерфейса управления

flowchart TD
  A[Нужен GUI для Docker?] -->|Да| B{Множественные кластеры?}
  A -->|Нет| Z[Используйте CLI и CI/CD]
  B -->|Нет| C[Portainer — лёгкое решение]
  B -->|Да| D{Kubernetes в основном?}
  D -->|Да| E[Rancher или Kubernetes native UI]
  D -->|Нет| F[Рассмотрите Portainer + агент или Rancher]

Минимум терминов (глоссарий)

  • Endpoint — подключаемая сущность, представляющая Docker Engine или Kubernetes кластер.
  • Stack — набор взаимосвязанных контейнеров, описанных docker-compose.yml.
  • Registry — хранилище Docker-образов (публичное или приватное).

Критерии приёмки

  • Portainer запускается и отвечает на http://localhost:9000.
  • Набор тестовых контейнеров отображается в интерфейсе, логи доступны.
  • Возможность развернуть stack из docker-compose.yml.
  • Аутентификация работает согласно выбранной конфигурации (встроенная, LDAP или OAuth).

Часто встречующиеся ошибки и как их избежать

  • Ошибка: “Cannot connect to the Docker socket” — проверьте, что /var/run/docker.sock проброшен в контейнер и что у контейнера достаточно прав.
  • Ошибка: проблема с pull из приватного реестра — убедитесь, что учётные данные внесены в “Регистры”.
  • Потеря доступа после остановки контейнера Portainer — не останавливайте контейнер portainer, если управляете им доверенно; держите резервную копию тома данных.

Безопасность и резервное копирование

  • Храните том portainer_data в бэкап-решении (регулярные снапшоты или rsync/backup tools).
  • Используйте TLS для удалённых подключений к Docker Engine.
  • Подключайте внешнюю аутентификацию для централизованного управления доступом.

Важно: коммерческая версия Portainer Business предоставляет дополнительные возможности по аудиту и управлению доступом; оцените её при необходимости соответствия корпоративным требованиям.

Итог

Portainer — быстрый путь к визуальному управлению Docker и простым стекам. Для локальной разработки и небольших инсталляций он экономит время и снижает порог вхождения для команд. Для крупных production-сред и строгих требований безопасности оцените альтернативы и архитектуру развёртывания.

Ключевые действия для старта:

  • Установите Docker 19.03+.
  • Создайте том portainer_data и запустите контейнер Portainer.
  • Настройте аутентификацию и регистры.
  • Используйте стеки и шаблоны для повторяемых развёртываний.

Примечание: в этом руководстве сохранены исходные команды и пути к изображениям. Следуйте политике безопасности вашей организации при развёртывании в продакшне.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Инструменты для создания текстовых приключений
Игры

Инструменты для создания текстовых приключений

Как настроить и использовать Samsung Pay
Финтех

Как настроить и использовать Samsung Pay

Tasker: включаем LED‑фонарик и автоматизируем Android
Android.

Tasker: включаем LED‑фонарик и автоматизируем Android

Установка Docker на Ubuntu 20.04
DevOps

Установка Docker на Ubuntu 20.04

Calendar.help и Cortana: автоматическое планирование
Продуктивность

Calendar.help и Cortana: автоматическое планирование

Как играть на PS5 с мобильного через PS Remote Play
Gaming

Как играть на PS5 с мобильного через PS Remote Play