Portainer — Полное руководство по установке и управлению Docker-контейнерами

Portainer — Управление Docker через графический интерфейс

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

Решение есть — Portainer. Это популярный open-source инструмент, предоставляющий удобный веб-интерфейс для управления Docker-окружением. Он идеально подходит как для домашнего сервера, так и для управления небольшим кластером.

В этой статье мы разберем, как установить Portainer и использовать его основные возможности для упрощения работы с Docker.

Что нам понадобится

  • Linux сервер (Ubuntu, Debian, CentOS или любой другой дистрибутив).
  • Установленный Docker (Engine и CLI).
  • Права sudo или доступ к пользователю root.
  • Открытый порт 9443 (для HTTPS доступа) или 9000 (для HTTP, если требуется).
ООО «РЕГ.РУ»

Мощные VPS для ваших Docker-контейнеров

Идеально подходит для Nginx Proxy Manager, Portainer и Nextcloud. Высокая производительность (NVMe), защита от DDoS и скидка 5% по промокоду.

Промокод: CB2C-C638-E0BF-18D1
от 0.6 ₽/час

Установка Portainer CE

Portainer сам запускается как Docker-контейнер. Это делает его установку невероятно простой. Мы будем использовать Portainer CE (Community Edition) — бесплатную версию, функционала которой более чем достаточно для большинства задач.

Сначала создадим Docker Volume, чтобы настройки Portainer (пользователи, пароли, окружения) не пропали после перезапуска контейнера:

docker volume create portainer_data

Теперь запустим сам контейнер:

docker run -d -p 8000:8000 -p 9443:9443 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data portainer/portainer-ce:latest

Давайте разберем, что делает эта команда:

  • -p 9443:9443: Открывает доступ к веб-интерфейсу через HTTPS.
  • -v /var/run/docker.sock:/var/run/docker.sock: Критически важная часть. Мы “пробрасываем” сокет Docker внутрь контейнера Portainer, что дает ему право управлять другими контейнерами на хосте.
  • -v portainer_data:/data: Подключаем созданный ранее том для хранения данных.
  • --restart=always: Если сервер перезагрузится или контейнер упадет, Docker запустит его снова.

Проверьте, что контейнер запустился:

docker ps

Вы должны увидеть portainer/portainer-ce в списке со статусом Up. Теперь можно открыть браузер и перейти по адресу https://IP-вашего-сервера:9443.

Создание администратора

При первом входе Portainer попросит создать учетную запись администратора.

  1. Username: Придумайте имя (по умолчанию admin).
  2. Password: Задайте надежный пароль (минимум 12 символов).
  3. Нажмите Create user.
Подключение к Docker
Интерфейс Dashboard в Portainer — обзор состояния Docker

После создания пользователя Portainer автоматически определит локальное окружение Docker (благодаря проброшенному сокету). Нажмите Get Started, чтобы перейти в панель управления.

Вы увидите плитку local. Кликните по ней, чтобы попасть в Dashboard (панель управления) вашего сервера.

Основные возможности

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

Список контейнеров в Portainer с кнопками быстрого доступа (Quick Actions)

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

Перейдите в раздел Containers в левом меню. Здесь вы видите список всех контейнеров.

  • Quick Actions: В колонке “Quick Actions” можно мгновенно посмотреть логи (иконка списка), статистику ресурсов (график), зайти в консоль (иконка >_) или остановить контейнер.
  • Logs: Нажав на иконку логов, вы увидите вывод приложения (stdout/stderr) в реальном времени. Можно включить “Auto-refresh”, чтобы следить за логами “на лету”.
  • Console: Кнопка “Console” позволяет подключиться к контейнеру (обычно через /bin/bash или /bin/sh) прямо из браузера. Это невероятно удобно для отладки.

Работа со стеками (Stacks)

Stacks в терминологии Portainer — это и есть ваши Docker Compose проекты. Вместо того чтобы создавать файлы docker-compose.yml на сервере через SSH и запускать их вручную, вы можете делать это прямо в интерфейсе.

  1. Зайдите в Stacks -> Add stack.
  2. Дайте стеку имя (например, nginx-proxy).
  3. В Web editor вставьте содержимое вашего docker-compose.yml.
  4. Нажмите Deploy the stack.

Portainer сам скачает образы и запустит сервисы. Если нужно изменить конфигурацию, просто откройте стек, отредактируйте YAML и нажмите Update the stack.

Редактор стеков в Portainer — вставка docker-compose.yml

Управление образами и сетями

  • Images: Позволяет удалять старые неиспользуемые образы, которые занимают место на диске. Также можно вручную спуллить (скачать) новый образ.
  • Networks: Полезно для проверки, какие контейнеры находятся в каких сетях, и для создания новых сетей (например, macvlan или bridge).

Безопасность

Portainer имеет полный доступ к вашему Docker-демону (фактически root-права).

  1. Используйте сложные пароли.
  2. Если вы планируете открывать доступ к Portainer из интернета, обязательно используйте Reverse Proxy (например, Nginx Proxy Manager) с SSL-сертификатом, а порт 9443 на роутере/фаерволе лучше закрыть, оставив доступ только через прокси (443 порт).
  3. Не оставляйте порт открытым для всего мира, если в этом нет острой необходимости. Лучше использовать VPN.

Как обновить Portainer

Portainer не умеет обновлять сам себя “изнутри”. Чтобы получить свежую версию, нужно пересоздать контейнер. Не волнуйтесь, ваши настройки сохранятся в томе portainer_data.

# 1. Останавливаем старый контейнер
docker stop portainer

# 2. Удаляем его
docker rm portainer

# 3. Скачиваем свежий образ
docker pull portainer/portainer-ce:latest

# 4. Запускаем снова (той же командой, что и при установке)
docker run -d -p 8000:8000 -p 9443:9443 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data portainer/portainer-ce:latest

Заключение

Portainer делает администрирование Docker доступным и наглядным. Он не заменяет консоль полностью (для сложных задач и автоматизации CLI по-прежнему важен), но для повседневного мониторинга, быстрого просмотра логов и управления стеками — это незаменимый инструмент.

Установив его один раз, вы сэкономите часы времени на рутинных операциях. Для более глубокого изучения рекомендуем официальную документацию Portainer.