Перейти к содержимому

Portainer: веб-интерфейс для Docker

Установить Portainer CE и открывать его безопасно — через SSH-туннель или только для своего IP.

Уровень
Средний
Время чтения
2 мин чтения
Обновлено
Проверено на
Ubuntu 22.04, Ubuntu 24.04, Debian 12
Содержание
  1. Установка
  2. Вход через SSH-туннель
  3. Вариант: доступ только с вашего IP
  4. Проверьте результат
  5. Частые ошибки

Portainer показывает контейнеры, образы, тома и логи в браузере и позволяет запускать стеки Compose без терминала. Бесплатная версия называется Community Edition (CE).

Установка

Порт интерфейса публикуем только на 127.0.0.1 — снаружи он будет недоступен:

bash
$ docker volume create portainer_data$ docker run -d --name portainer --restart=always \  -p 127.0.0.1:9443:9443 \  -v /var/run/docker.sock:/var/run/docker.sock \  -v portainer_data:/data \  portainer/portainer-ce:lts

Вход через SSH-туннель

На своём компьютере пробросьте порт через SSH и оставьте окно открытым:

bash
$ ssh -N -L 9443:127.0.0.1:9443 [email protected]

Откройте https://localhost:9443. Браузер предупредит о самоподписанном сертификате — для туннеля это нормально. Сразу создайте администратора с длинным паролем.

Вариант: доступ только с вашего IP

Если нужен постоянный доступ без туннеля и у вас статический адрес, опубликуйте порт на всех интерфейсах (-p 9443:9443) и ограничьте его в цепочке DOCKER-USER — правила UFW к портам Docker не применяются:

bash
$ iptables -I DOCKER-USER -p tcp -m conntrack --ctorigdstport 9443 ! -s 198.51.100.7 -j DROP

Здесь 198.51.100.7 — ваш адрес. Правило не переживает перезагрузку; для постоянного хранения нужен пакет iptables-persistent. Туннель проще и надёжнее.

Проверьте результат

bash
$ docker ps --filter name=portainer$ ss -tlnp | grep 9443

В выводе ss порт должен слушаться на 127.0.0.1:9443, а не на 0.0.0.0.

Частые ошибки

  • Интерфейс открыт на 0.0.0.0:9443 — UFW его не закрывает. Пересоздайте контейнер с -p 127.0.0.1:9443:9443.
  • Туннель обрывается при закрытии терминала — это ожидаемо. Для постоянного туннеля используйте autossh (см. статью про SSH-туннели).

Дочитайте до конца — статья засчитается в обучении автоматически.

  • portainer
  • docker
  • веб-интерфейс
  • панель

Статья помогла?