Используемые термины: Portainer , Docker .
Данная инструкция может послужить в качестве шпаргалки по развертыванию Portainer в докер-контейнере.
Создание файла docker-compose
Описание сценария запуска Portainer
Запуск контейнера
Установка приложения в веб-интерфейсе
Подключение удаленного docker хоста
Создадим каталог, где будем размещать файлы приложения:
mkdir /opt/portainer
Перейдем в него:
cd /opt/portainer
Создадим docker-compose файл:
vi docker-compose.yml
На что стоит обратить особое внимание:
Строки | Описание |
---|---|
6 | Для развертывания мы берем образ portainer/portainer-ce (community edition) последней версии. |
7, 8 | Задаем для удобства имя контейнера и hostname. |
9 | Наш контейнер должен автоматически запускаться, если не был выключен явно. |
10 — 11 | Задаем системную переменную, указал часовой пояс. |
12 — 14 | Монтируем внутрь контейнера: — файл /var/run/docker.sock. Необходимо, чтобы сервис, запущенный в контейнере взаимодействовал с докер-системой хоста. — каталог portainer_data. Будет находится в текущей папке. Нужен для хранения данных, которые мы не хотим потерять, когда контейнер будет перезагружен. |
15 — 16 | Делаем так, чтобы наш контейнер слушал на внешнем порту 9000. |
* примеры работы с docker-compose можно увидеть в инструкции Шпаргалка по работе с docker-compose .
Запустим контейнер с помощью docker-compose:
docker-compose up -d
Для проверки можно попробовать отправить http-запрос из консоли:
curl http://127.0.0.1:9000
Мы должны увидеть html-разметку. Значит, портал слушает и отвечает.
Идем дальше.
Для работы Portainer необходимо инициализировать настройки. В браузере переходимо на портал, например, http://192.168.100.15:9000 — должна открыться стартовая страница, где от нас потребуется ввести логин и пароль, которые мы хотим использовать для входа в систему под администратором:
Если мы задержимся с ответом, система выдаст сообщение о необходимости перезапустить сервис:
Вводим команду:
docker-compose restart
И возвращаемся к процедуре веб-установки.
Установка и запуск Portainer завершены.
Дополнительно рассмотрим добавление в Portainer хоста Docker, который расположен на другом сервере.
В веб-интерфейса переходимо в раздел Environment-related — Environments :
Справа сверху кликаем по:
Выбираем Docker Standalone :
Запускаем мастер настройки:
Выбираем, что будем подключаться к удаленному docker хосту с помощью агента:
Мы получим команду для запуска docker-контейнера с агентом:
Мы можем скопировать и запустить контейнер portainer-агента на хосте, которым хотим управлять:
docker run -d
-p 9001:9001
—name portainer_agent
—restart=always
-v /var/run/docker.sock:/var/run/docker.sock
-v /var/lib/docker/volumes:/var/lib/docker/volumes
-v /:/host
portainer/agent:2.21.3
По умолчанию, portainer предлагает запустить агента на порту 9001. Если на удаленном хосте данный порт уже занят, необходимо поменять строку:
docker run -d
-p 9002:9001
…* в данном примере мы сделаем так, что агент будет слушать на порту 9002 .
Однако, для продуктивной среды рекомендую использовать docker-compose. Для начала создадим каталог для хранения файлов агента и перейдем в него:
mkdir /opt/portainer_agent
cd /opt/portainer_agent
Создаем docker-compose файл:
vi docker-compose.yml
—
services:
portainer-agent:
image: portainer/agent:2.21.3
container_name: portainer-agent
hostname: portainer-agent
restart: unless-stopped
environment:
TZ: «Europe/Moscow»
volumes:
— /var/run/docker.sock:/var/run/docker.sock
— /var/lib/docker/volumes:/var/lib/docker/volumes
— /:/host
ports:
— «9001:9001»
* обратите внимание, что мы указали версию агента, которую нам выдал портал портейнера.
Для запуска контейнера с агентом вводим:
docker-compose up -d
Проверить статус сервиса можно командой:
docker-compose ps -a
Возвращаемся к веб-интерфейсу Portainer. Продолжая настраивать агента, вводим имя хоста и указываем, как подключиться к агенту:
* в нашем примере мы запустили агента на сервере 192.168.100.16 и порту 9002 .
Кликаем по Connect :
Подключение агента завершено.
Список подключенных хостов docker можно посмотреть на домашней странице. Там же можно выбрать нужный для управления его docker инфраструктурой.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…