Docker

Portainer

Что это?

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

Portainer отлично подходит как для начинающих, так и для профессионалов в области контейнеризации. Его интуитивно понятный графический интерфейс значительно упрощает управление, делая технологии контейнеров доступными даже для новичков в этой области. Опытные пользователи также найдут в нем богатый выбор опций для тонкой настройки и персонализации.

Установка

Заметка

Если планируете разворачивать контейнеры на локальной машине или на вашем севере вы единственный пользователь, то удобней размещать конфигурации в домашней директории, например в ~/apps, в противном случае лучше в директорию /opt

Создайте каталог для приложения в /opt и перейдите в него

sh
cd /opt && sudo mkdir portainer && sudo chown $USER portainer && cd portainer

Создайте файл docker-compose.yml командой:

sh
sudo nano docker-compose.yml

Вставьте в него следующее содержимое:

docker-compose.ymlyml
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. Откройте этот адрес в браузере для доступа к веб-интерфейсу.

Portainer Вход При первом входе в систему вас попросят зарегистрировать аккаунт администратора. Учтите, что для пароля требуется минимум 12 символов.

Важно

Обратите внимание что веб-интерфейс доступен по протоколу https и из-за этого браузер может выдавать ошибку, необходимо нажать на кнопку «Advanced» и перейти по адресу, который появится под кнопкой.

Portainer Предупреждение браузера Предупреждение браузера.

Обзор возможностей

При переходе на страницу «Home» есть одно окружение: «local» (устройство, где запущено приложение).

Portainer

Подключившись к выбранному окружению с помощью кнопки «Live connect», видим следующие разделы:

Images. Отображаются все доступные образы в системе. Здесь можно удалять образы по отдельности или массово, а также скачивать новые образы через опцию «Pull image».

Portainer

Networks. Список всех доступных сетей. С помощью мастера настройки, доступного через «Add Network», пользователи могут создавать новые сети, расширяя возможности связи между контейнерами.

Portainer

Volumes. Этот раздел позволяет не только просматривать существующие тома, но и удалять их или создавать новые с помощью мастера настройки «Add volume».

Portainer

Containers. В этом разделе видны все существующие контейнеры, их можно удалять, приостанавливать, активировать или перезапускать. Доступ к дополнительным функциям, включая просмотр информации о контейнере, статистики и доступа к консоли, осуществляется через меню «Quick Actions», расположенное в соответствующем столбце.

Portainer

Создание и запуск контейнера

Создание нового контейнера осуществляется через мастер настройки «Add container». В качестве примера можно создать контейнер с Nginx, указав имя, образ «nginx» и настроив сетевые порты (нажмем на «publish a new network port» и укажем в host 9090 порт, а в container 80).

Portainer

Далее нажмем на кнопку «Deploy the container» и дождемся завершения развертывания контейнера. По завершению произойдет редирект на страницу «Container list». После развертывания контейнера переход по адресу http://ip_сервера:9090 покажет работающий Nginx.

App Templates

Раздел «App Templates» представляет собой коллекцию предварительно настроенных шаблонов для развертывания распространенных приложений и сервисов. Эти шаблоны предназначены для упрощения процесса создания новых контейнеров, минимизируя необходимость в ручной конфигурации. Можно выбирать из разнообразия доступных шаблонов, которые варьируются от базовых веб-серверов до сложных многоуровневых приложений.

При использовании шаблона достаточно указать некоторые основные параметры, такие как имя контейнера, сетевые настройки и, в некоторых случаях, специфические настройки, например, пароли или переменные среды. Это делает раздел «App Templates» особенно удобным для быстрого тестирования новых идей и утилит, а также для обучения и экспериментирования с новыми технологиями.

Portainer

Stacks

Это эффективный способ управления группами контейнеров. Определяются они через файлы docker-compose, группируя их для выполнения общих задач. Это упрощает управление сложными приложениями и обеспечивает автоматизацию и консистентность в развертывании.