Skip to Content
3️⃣ День 3🛠 Домашнее задание

🛠 Домашнее задание

Цель: Закрепить навыки работы с Docker Compose, Nginx и доменами, добавив новый сервис для управления контейнерами через веб-интерфейс.

Portainer — это лёгкий инструмент с веб-интерфейсом для управления контейнерами Docker, Docker Swarm, Kubernetes и другими системами. Он позволяет:

  • просматривать список контейнеров, образов, томов и сетей;
  • запускать и останавливать контейнеры;
  • управлять настройками и переменными окружения;
  • просматривать логи и подключаться к консоли контейнеров;
  • деплоить приложения по готовым шаблонам.

📚 Документация: https://docs.portainer.io/


📋 Задача

Добавить в существующий проект сервис Portainer, который позволит управлять контейнерами и их настройками через браузер.


🔹 Шаги выполнения

1. Добавить сервис Portainer в docker-compose.yml

portainer: image: portainer/portainer-ce container_name: portainer restart: always ports: - "9000:9000" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data volumes: portainer_data:

Описание параметров:

  • image — официальный образ Portainer Community Edition.
  • container_name — имя контейнера для удобства.
  • restart — автоматический перезапуск при сбое или перезагрузке сервера.
  • ports — проброс порта 9000 для доступа к веб-интерфейсу (до настройки Nginx).
  • volumes — доступ к Docker сокету для управления контейнерами и том для хранения данных Portainer.

2. Привязать subdomain к серверу

Например: portainer.example.com Для этого в панели управления DNS создайте A-запись, указывающую на IP вашего сервера.


3. Добавить новый конфиг Nginx для домена portainer.example.com

По аналогии с тем, как мы делали для Grafana, настроить проксирование на контейнер Portainer. Это позволит заходить в Portainer по HTTPS и без указания порта.


4. Выпустить SSL сертификат для домена portainer.example.com

Использовать Let’s Encrypt, как мы делали для Grafana, чтобы обеспечить безопасное подключение.


5. Открыть в браузере

https://portainer.example.com

При первом входе:

  • Создайте пользователя-администратора.
  • Выберите подключение Local для работы с Docker на этом сервере.

✅ Критерии выполнения

  • Через интерфейс Portainer видно все запущенные контейнеры проекта.
  • Данные Portainer сохраняются между перезапусками контейнера.
  • Доступ к Portainer осуществляется по защищённому адресу https://portainer.example.com.

Last updated on