Установка 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, можно так оставить.
После задания пароля (он должен быть не меньше 12 символов), нажимаем кнопку Create User. И снимаем галочку внизу, чтобы не отправлять статистику.
Если не сразу задать пароль, и оставить окно в таком состоянии на некоторое время, то после создания пользователя Portainer оповестит об истечении времени жизни экземпляра по соображениям безопасности, и попросит перезапустить Portainer.
Перезапускаем командой
sudo docker restart portainer
Обновляем страницу, и снова задаём нужный логин и пароль. После нажатия кнопки Create User появится интерфейс Portainer
Слева выбираем вкладку Home, появится такое окно:
В правой части видим компьютер, на котором установлен Docker и Portainer. Компьютер называется Local, и ниже представлены краткие характеристики компьютера и сколько компонентов Докер там установлено - количество контейнеров, образов, томов и прочего.
Жмём на область с информацией о компьютере Local. Окно станет таким:
Жмём слева на вкладку Stacks. Стеки - это своеобразные проекты, отображающие многоконтейнерные приложения. Контейнер в таком приложении может быть и один, но если он создан с помощью Docker Compose, то Portainer будет считать его стеком. Например, на данном скрине отображён установленный Adminer в списке стеков.
===========================================
Удаление 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
--------------------------------------
No Comments