Docker Portainer
Portainer — веб-интерфейс для управления Docker. Позволяет запускать, останавливать и инспектировать контейнеры, просматривать тома, сети и образы без использования командной строки.
Возможности
- Управление контейнерами, образами, томами и сетями через GUI
- Просмотр логов и статистики контейнеров в реальном времени
- Поддержка Docker Compose стеков
- Управление несколькими Docker-хостами и Swarm-кластерами
- Ролевой контроль доступа (RBAC) в версии Business Edition
Установка через Docker Compose
Создайте директорию и файл конфигурации:
mkdir -p /opt/portainer && cd /opt/portainer
Файл /opt/portainer/docker-compose.yml:
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- data:/data
networks:
- traefik_proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.portainer.rule=Host(`example.com`) && PathPrefix(`/portainer`)"
- "traefik.http.routers.portainer.entrypoints=websecure"
- "traefik.http.routers.portainer.tls.certresolver=letsencrypt"
- "traefik.http.routers.portainer.middlewares=portainer-strip"
- "traefik.http.routers.portainer.priority=100"
- "traefik.http.middlewares.portainer-strip.stripprefix.prefixes=/portainer"
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
volumes:
data:
external: true
name: portainer_data
networks:
traefik_proxy:
external: true
Запуск
docker volume create portainer_data
docker compose up -d
Доступ
При использовании Traefik с путём /portainer:
https://example.com/portainer/
При прямом маппинге портов (альтернатива без Traefik):
ports:
- "9000:9000" # HTTP
- "9443:9443" # HTTPS
Откройте http://localhost:9000 и создайте учётную запись администратора при первом входе.
Путь-based доступ через Traefik
Если Portainer доступен по пути (а не отдельному домену), необходимо передать
параметр --base-url чтобы все внутренние ссылки Portainer были корректными:
command: --base-url /portainer
Обновление
docker compose pull && docker compose up -d
Примечания
- Данные Portainer хранятся в томе
portainer_data— при удалении контейнера настройки сохраняются. - Доступ к Docker-сокету (
/var/run/docker.sock) даёт Portainer полный контроль над хостом — используйте только в доверенной среде. - Community Edition бесплатна и покрывает большинство задач.