Найти тему

Portainer. Управление, мониторинг, статистика docker-контейнеров. Установка в Debian/Ubuntu + Docker

Оглавление
Прошу поставить лайк авансом и подписаться. Это помогает продвижению и развитию канала. Если статья не понравится - это легко отменить. Спасибо!

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

Прошу всех подписаться на канал и поставить лайк. Вам не сложно, а мне приятно. И это помогает продвижению блога. Спасибо.

Что это такое и зачем?

Portainer - это инструмент для мониторинга и управления docker-контейнерами на нескольких машинах. Лично для себя я нашёл в нём применение, так как я работаю программистом и есть необходимость мониторить множество контейнеров как на нескольких проектах, так и на нескольких машинах. По сути - portainer является веб-мордой для инструмента командной строки, docker, docker-compose.

Вот так выглядит главная страница Portainer у меня
Вот так выглядит главная страница Portainer у меня

Установка и настройка

Установка portainer не должна вызвать у вас никаких трудностей. В моём случае я ставил его в отдельный контейнер на ProxMox, что бы он работал в изолированной от всего среде. Собственно установка сводится всего к одной команде:

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 будет доступен на порту 9443 по вашему IP адресу, по протоколу https (нужно будет сделать исключение для адреса, так как сертификат не валидный, самописный).

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

Добавление ноды для мониторинга

Что бы добавить ноду (узел) в portainer, например какой-нибудь сервер с докером, нужно на этой машине установить portainer-agent.

-2

Для этого в левом меню нужно нажать на пункт Enviroment и на открывшейся странице нажать кнопку Add environment в правом верхнем углу.

-3

Затем выбрать Docker Standalone и нажать Start Wizard.

-4

Далее нужно выбрать сверху Agent, скопировать команду ниже и выполнить её на той машине, которую вам нужно подключить к мониторингу.

-5

После запуска агента - впишите название вашего окружения (что бы не путаться, я называю по принципу - что работает, так и называется), вставьте IP адрес вашей машины и порт 9001 в нижнюю строку. И нажать кнопку Connect. Если всё было сделано верно - то новое окружение появится на главной странице.

Работа с контейнерами

Для начала работы с контейнерами перейдём в созданное окружение - на главной странице нужно выбрать созданное ранее вами окружение.

-6

Вот так выглядит моё окружение для HomeAssistant. Контейнеры зачастую делятся на стеки, если на машине работает несколько docker-compose образов. В данном случае их нет, но это не влияет на работу.

Так же тут мы видим количество контейнеров, образов (images), вольюмы (volumes) и сети.

-7

Можно посмотреть список контейнеров. Зайти в контейнер, посмотреть логи или подключиться к его shell-оболочке.

-8

Обновление Portainer

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

docker stop portainer
docker rm portainer
docker pull portainer/portainer-ce:latest
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

При этом все настройки, все окружения сохранятся и продолжат работать.

Итог

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

В комментариях прошу указать на ошибки в статье, может что-то у вас не получилось, советы по оформлению. Отвечу всем и как можно быстрее.

Всем спасибо за чтение, за интерес, комментарии. Ссылка на добровольные донаты. Никого не заставляю, но буду благодарен.

Подписывайтесь на мой канал в телеграме https://t.me/kai_zer_ru_public