Что это?
Portainer — это инструмент управления контейнерами через веб-интерфейс, который взаимодействует как с Docker, так и с Kubernetes.
Portainer отлично подходит как для начинающих, так и для профессионалов в области контейнеризации. Его интуитивно понятный графический интерфейс значительно упрощает управление, делая технологии контейнеров доступными даже для новичков в этой области. Опытные пользователи также найдут в нем богатый выбор опций для тонкой настройки и персонализации.
Установка
Заметка
Если планируете разворачивать контейнеры на локальной машине или на вашем севере вы единственный пользователь, то удобней размещать конфигурации в домашней директории, например в ~/apps
, в противном случае лучше в директорию /opt
Создайте каталог для приложения в /opt
и перейдите в него
cd /opt && sudo mkdir portainer && sudo chown $USER portainer && cd portainer
Создайте файл docker-compose.yml
командой:
sudo nano docker-compose.yml
Вставьте в него следующее содержимое:
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
environment:
- TZ=Europe/Moscow
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/data
ports:
- '8000:8000'
- '9443:9443'
restart: always
Запустите следующей командой: docker compose up -d
Описание некоторых параметров
volumes
:/var/run/docker.sock:/var/run/docker.sock
позволяет Portainer взаимодействовать с Docker на вашем хосте;./data:/data
создает постоянное хранилище данных.
- ports:
"8000:8000"
и"9443:9443"
открывают соответствующие порты для доступа к Portainer. 9443 используется для HTTPS подключения.restart: always
: Контейнер будет автоматически перезапускаться при необходимости, например, после перезагрузки сервера.
Веб-интерфейс
Portainer теперь запущен и доступен по адресу https://<ip_или_localhost>:9443
. Откройте этот адрес в браузере для доступа к веб-интерфейсу.
При первом входе в систему вас попросят зарегистрировать аккаунт администратора. Учтите, что для пароля требуется минимум 12 символов.
Важно
Обратите внимание что веб-интерфейс доступен по протоколу https и из-за этого браузер может выдавать ошибку, необходимо нажать на кнопку «Advanced» и перейти по адресу, который появится под кнопкой.
Предупреждение браузера.
Обзор возможностей
При переходе на страницу «Home» есть одно окружение: «local» (устройство, где запущено приложение).
Подключившись к выбранному окружению с помощью кнопки «Live connect», видим следующие разделы:
Images. Отображаются все доступные образы в системе. Здесь можно удалять образы по отдельности или массово, а также скачивать новые образы через опцию «Pull image».
Networks. Список всех доступных сетей. С помощью мастера настройки, доступного через «Add Network», пользователи могут создавать новые сети, расширяя возможности связи между контейнерами.
Volumes. Этот раздел позволяет не только просматривать существующие тома, но и удалять их или создавать новые с помощью мастера настройки «Add volume».
Containers. В этом разделе видны все существующие контейнеры, их можно удалять, приостанавливать, активировать или перезапускать. Доступ к дополнительным функциям, включая просмотр информации о контейнере, статистики и доступа к консоли, осуществляется через меню «Quick Actions», расположенное в соответствующем столбце.
Создание и запуск контейнера
Создание нового контейнера осуществляется через мастер настройки «Add container». В качестве примера можно создать контейнер с Nginx, указав имя, образ «nginx» и настроив сетевые порты (нажмем на «publish a new network port» и укажем в host
9090 порт, а в container
80).
Далее нажмем на кнопку «Deploy the container» и дождемся завершения развертывания контейнера. По завершению произойдет редирект на страницу «Container list». После развертывания контейнера переход по адресу http://ip_сервера:9090
покажет работающий Nginx.
App Templates
Раздел «App Templates» представляет собой коллекцию предварительно настроенных шаблонов для развертывания распространенных приложений и сервисов. Эти шаблоны предназначены для упрощения процесса создания новых контейнеров, минимизируя необходимость в ручной конфигурации. Можно выбирать из разнообразия доступных шаблонов, которые варьируются от базовых веб-серверов до сложных многоуровневых приложений.
При использовании шаблона достаточно указать некоторые основные параметры, такие как имя контейнера, сетевые настройки и, в некоторых случаях, специфические настройки, например, пароли или переменные среды. Это делает раздел «App Templates» особенно удобным для быстрого тестирования новых идей и утилит, а также для обучения и экспериментирования с новыми технологиями.
Stacks
Это эффективный способ управления группами контейнеров. Определяются они через файлы docker-compose
, группируя их для выполнения общих задач. Это упрощает управление сложными приложениями и обеспечивает автоматизацию и консистентность в развертывании.