Portainer: веб-интерфейс для управления Docker контейнерами

Если ты хоть раз возился с Docker, то наверняка сталкивался с ситуацией, когда хочется быстро глянуть, что у тебя там крутится, перезапустить контейнер, глянуть логи или запустить новый сервис без вечного копания в CLI. Конечно, терминал — наше всё, но иногда хочется чуточку комфорта. Вот тут и приходит на помощь Portainer — лаконичный и весьма мощный веб-интерфейс для управления Docker-контейнерами. Без лишней бюрократии, регистраций и прочей боли. Да, есть аналоги, но Portainer прост и дружелюбен, даже если ты не DevOps с бородой по пояс.

Возможности Portainer

  • Управление контейнерами, образами, томами и сетями через браузер
  • Поддержка нескольких Docker host-ов и кластеров (Docker Swarm, Kubernetes)
  • Визуализация, запуск и удаление контейнеров без командной строки
  • Управление пользователями, роли, ограничения доступа
  • Мониторинг состояния контейнеров, просмотр логов, статистики
  • Масштабирование сервисов в пару кликов
  • Бэкапы/восстановление стека, импорт/экспорт конфигов
  • Поддержка плагинов и расширений

Короче, если не хочешь держать в голове все docker-команды, Portainer — твой друг.

Что требуется для запуска Portainer

  • ОС: Любая современная Linux (Ubuntu, CentOS, Debian, Fedora), macOS, Windows (через WSL2 или Docker Desktop)
  • Docker: Уже должен быть установлен и работать (официальная дока)
  • Железо: Любой сервер/ПК с 1 ГБ RAM и парой гигов свободного места (Portainer ест мало)
  • Доступ к порту 9443 (https), 9000 (http) или 8000 (Edge)

Установка Portainer: пошаговая инструкция

  1. Убедись, что Docker работает:
    docker --version

    Если не установлен — ставь по официальной инструкции.

  2. Создай volume для Portainer (чтобы не потерять настройки после перезапуска):
    docker volume create portainer_data
  3. Запусти Portainer контейнер:
    docker run -d \
      -p 9443:9443 \
      -p 9000:9000 \
      --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 доступ
    • -p 9000:9000 — HTTP доступ (можно отключить)
    • -v /var/run/docker.sock:/var/run/docker.sock — доступ к хостовому Docker
    • -v portainer_data:/data — хранение настроек
  4. Открой браузер и зайди на https://localhost:9443 (или http://localhost:9000 если не хочешь https)Первый запуск — настройка админ-пароля. Дальше выбирай, к какому Docker подключаться (обычно local).

Всё, теперь у тебя есть полноценная панель управления Docker!

Использование: команды и варианты

Portainer — это в первую очередь веб-интерфейс, но и через CLI можно управлять.

  • Запуск/остановка контейнера: Кликаешь по контейнеру — кнопки Start, Stop, Restart
  • Создать контейнер: «Containers» → «Add container» — указываешь имя, образ, переменные, порты и т.д.
  • Посмотреть логи: «Containers» → выбираешь контейнер → «Logs»
  • Работа с образами: «Images» — pull, build, delete, tag
  • Массовое обновление: Можно обновить все контейнеры на новую версию образа
  • Работа с томами: «Volumes» — создать, удалить, посмотреть кто использует
  • Сети: «Networks» — создать, удалить, посмотреть связи
  • Стек (stack): Можно деплоить docker-compose YAML прямо из браузера
  • Добавить удалённый Docker host: «Endpoints» — добавить новый хост (через агент Portainer или прямое подключение)
  • Пользователи: Можно добавить пользователей, раздать права (RBAC)

Всё это делается кликами, но если хочешь автоматизировать — у Portainer есть REST API.

Ошибки и как делать не надо

  • Не открывай порт 9000/9443 наружу без защиты! Portainer — лакомая цель для сканеров. Используй VPN, firewall, хотя бы basic auth через nginx/caddy.
  • Не запускай Portainer от рута без нужды. Лучше отдельный пользователь, минимум прав.
  • Не храни секреты в открытых stack-файлах. Используй Docker secrets.
  • Не забывай делать бэкапы volume portainer_data. Особенно если используешь пользователей и роли.
  • Не обновляй Portainer в проде без теста на стенде. Иногда бывают несовместимости.

Пример реального использования

У меня есть VPS, где крутится несколько сервисов: nginx, база, парочка ботов, Grafana, Prometheus. Раньше всё управлял через терминал, но когда контейнеров стало 10+, начал путаться. Поставил Portainer — теперь вижу, кто сколько жрет, где что упало, можно быстро перезапустить нужный сервис, посмотреть логи за пару секунд, не вспоминая docker logs -f. Когда надо деплоить новый стек — просто копирую docker-compose.yml в браузер, и всё запускается. А ребята из команды получили доступ только к нужным контейнерам — удобно и безопасно. Даже один раз спасло, когда кто-то случайно грохнул контейнер — восстановил из бэкапа volume за пару минут.

Заключение

Portainer — это тот самый must-have инструмент, если у тебя больше одного-двух контейнеров и хочется меньше возиться с CLI. Он не заменяет знание Docker, но экономит нервы, время и делает инфраструктуру наглядной и управляемой. Если не пробовал — ставь смело, оно того стоит.

Официальный сайт: https://www.portainer.io/
Документация: https://documentation.portainer.io/

Хотите прочитать больше про Разное?
Отзывов нет.

Ваш отзыв

Пожалуйста, заполните поля снизу и добавьте отзыв!.
Имя *
E-mail *
Сайт
Сообщение *