Недавно коллеги рассказали об удивительно упрощающей жизнь тулзе – Portainer. Раньше для управления Docker пользовался только командной строкой и, признаться, это довольно трудоемко, если речь идет про удаление/поиск/идентификация контейнеров. Потому знакомство с данным ПО сильно изменило мои трудовыебудни. Сейчас в бесплатной версии есть поддержка Docker (в т.ч. composer) и Kubernetes. Статью, как и большинство честно copypast с качественного ресурса losst.pro. Спасибо создателям.
Установка Docker Portainer
С помощью Portainer вы сможете отслеживать состояние контейнеров, запускать, останавливать и удалять их, развертывать новые приложения, а также многое другое. Сегодня мы поговорим как выполняется установка Docker Portainer на ваш компьютер, а также как пользоваться программой
Как установить Docker Portainer
Для выполнения этой статьи вам понадобится уже установленный в вашей системе Docker. После того, как Docker будет установлен, можно развернуть контейнер с Portainer. Было бы странно, если бы программа поставлялась в каком-либо другом виде. Создайте хранилище данных для Portainer:
docker volume create portainer_data
Для установки и запуска контейнера выполните:
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portaine
r
Эта команда настраивает автоматический запуск Portainer после перезагрузки, а также постоянное хранилище, чтобы ваши настройки не потерялись при удалении и повторном разворачивании контейнера. Чтобы убедится, что Portainer запущен выполните такую команду:
docker ps
Настройка Portainer
1. Вход
Получить доступ к программе вы можете через веб-интерфейс на порту 9000. Откройте его в браузере. На первом шаге надо будет ввести имя пользователя и пароль, под которым вы будете входить в систему:
Затем выберите метод подключения к Docker. Для начала можно подключиться к локальному сервису Docker. Для этого выберите Local:
2. Список узлов и контейнеров
После нажатия кнопки Connect вы попадите в панель управления контейнерами:
Сначала вам надо выбрать узел, на котором вы будете управлять контейнерами, в данном случае, это local. Здесь вы можете уже управлять вашими контейнерами. Например, в разделе Containers можно посмотреть все доступные контейнеры:
А в разделе Stacks – все доступные приложения:
3. Разворачивание приложения
В разделе App Templates вы можете развернуть новое приложение на основе одного из существующих шаблонов. Например, давайте развернем WordPress. Для этого найдите его в списке:
Затем шаблон надо настроить. В данном случае, надо указать пароль для базы данных и имя приложения:
После этого нажмите кнопку Deploy the stack и новое приложение появится в списке раздела Stasks. Как видите, теперь программа сообщает, что у неё есть полный контроль над этим приложением, потому что она его создала:
4. Управление приложением
Если вы откроете приложение, там будут отображены его контейнеры. По каждому контейнеру можно посмотреть логи, открытые порты и даже подключится через терминал. Чтобы увидеть логи нажмите на иконку похожую на записную книжку возле состояния контейнера:
Для командной строки рядом есть значок с символом приглашения ввода. Вот так выглядит командная строка:
А открытые порты находятся в самом конце характеристик контейнера в разделе Published ports:
Если вы кликните по ссылке с надписью 32768:80 для контейнера WordPress, то попадёте на сайт WordPress:
Как обновить Portainer
Чтобы обновить Portainer надо удалить текущий образ и запустить его снова. Это не вызовет никаких проблем, так как при создании предыдущего образа мы использовали внешнее хранилище для хранения данных. Остановите образ и удалите его:
docker stop portainer
docker rm portainer
Скачайте новую версию:
docker pull portainer/portainer
Затем осталось снова установить Portainer:
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Выводы
Как видите установка Portainer очень простая, если у вас есть уже установленный docker, а далее программа только помогает пользоваться контейнерами. Вы можете подключить к ней и удалённые узлы, однако для этого надо, чтобы у них был публичный IP адрес, потому что в локальной сети взаимодействовать с ними вы не сможете.