Skip to main content

Установка Portainer в Docker

Сначала создаём том portainer-data. Это специальный каталог на хостовой системе, который будет взаимодействовать с контейнером сервиса Portainer.  Туда работающий контейнер будет отправлять логи, конфиги, и другие данные.

Все тома для всех приложений, запущенных в Docker, по умолчанию сохраняются тут: /var/lib/docker/volumes/

После применения следующей команды, каталог станет доступен по следующему пути: /var/lib/docker/volumes/portainer-data

sudo docker volume create portainer_data

Следующая команда запускает контейнер с Portainer (перед тем как запускать команду, просмотрите её описание ниже).

sudo 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-ce

Эта команда запускает контейнер с Portainer — системой управления Docker через веб-интерфейс. Разберём каждый элемент:

  •     docker run — команда для запуска нового контейнера.
  •     -d — запускает контейнер в фоновом режиме (detached), что позволяет работать с командной строкой дальше, не блокируя терминал.
  •     -p 9000:9000 — пробрасывает порт 9000 контейнера на порт 9000 хоста. Это позволяет обращаться к веб-интерфейсу Portainer по адресу http://localhost:9000.
  •     --name portainer — задает контейнеру имя portainer, что упрощает его управление (например, при остановке или удалении контейнера можно будет обращаться по имени).
  •     --restart=always — настройка автозапуска контейнера. Контейнер будет перезапущен автоматически после перезагрузки системы или при его остановке.
  •     -v /var/run/docker.sock:/var/run/docker.sock — подключает сокет Docker, позволяя Portainer взаимодействовать с Docker-демоном напрямую. Это нужно для управления контейнерами, образами и прочими ресурсами Docker.
  •     -v portainer_data:/data — создаёт (если не создан) и подключает том portainer_data к /data внутри контейнера для хранения данных Portainer, включая настройки и информацию о подключенных Docker-окружениях.
  •     portainer/portainer-ce — указывает образ, из которого создаётся контейнер. В данном случае это Portainer CE (Community Edition), open-source версия Portainer. Если этого образа нет на компьютере, он автоматически скачается с Docker-репозитория (официальный репозиторий - DockerHub).

После этого интерфейс Portainer будет доступен по адресу http://<ваш_сервер>:9000

Если порт 9000 на хостовой системе занят (например, используется для PeerTube), порт с контейнера можно пробросить на другой порт хоста, свободный. Например, на 7041. В итоге будет -p 7041:9000

Параметр --restart=always говорит о том, что контейнер будет восстанавливать своё рабочее состояние даже, если его остановить вручную. Иногда это неприемлемо, так как бывает необходимо остановить контейнер и не запускать его какое то время. Для этого значение always нужно поменять на unless-stopped. Контейнер по прежнему будет автоматически запускаться при перезагрузке системы или каком-то сбое, но вручную его остановить можно будет. Поэтому, пишем --restart=unless-stopped

В итоге команда запуска Portainer может быть такой:

sudo docker run -d -p 7041:9000 --name portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

После этого интерфейс Portainer будет доступен по адресу http://<ip-сервера>:7041 (или http://localhost:7041)

Первым делом при вызове Portainer в браузере, нужно задать логин и пароль. По умолчанию логин предлагается как admin, можно так оставить. 

Portainer.jpg

После задания пароля (он должен быть не меньше 12 символов), нажимаем кнопку Create User. И снимаем галочку внизу, чтобы не отправлять статистику.

Если не сразу задать пароль, и оставить окно в таком состоянии на некоторое время, то после создания пользователя Portainer оповестит об истечении времени жизни экземпляра по соображениям безопасности, и попросит перезапустить Portainer. 

Portainer2.jpg

Перезапускаем командой 

sudo docker restart portainer

Обновляем страницу, и снова задаём нужный логин и пароль. После нажатия кнопки Create User появится интерфейс Portainer

Portainer3.jpg

 

Слева выбираем вкладку Home, появится такое окно:

Portainer4.jpg

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

Жмём на область с информацией о компьютере Local. Окно станет таким:

Portainer5.jpg

Жмём слева на вкладку Stacks. Стеки - это своеобразные проекты, отображающие многоконтейнерные приложения. Контейнер в таком приложении может быть и один, но если он создан с помощью Docker Compose, то Portainer будет считать его стеком. Например, на данном скрине отображён установленный Adminer в списке стеков.

Portainer6.jpg
===========================================

Удаление Portainer

Чтобы полностью удалить все, что было установлено этими командами, вам нужно выполнить следующие шаги:

Остановите и удалите контейнер Portainer:

sudo docker stop portainer
sudo docker rm portainer

Удалите Docker volume, который был создан для хранения данных Portainer:

sudo docker volume rm portainer_data

Проверьте и удалите ненужные Docker образы (если они больше не нужны):

sudo docker rmi portainer/portainer-ce

--------------------------------------