Categories: Скрипты

Docker-compose для Portainer

Используемые термины: Portainer , Docker .

Данная инструкция может послужить в качестве шпаргалки по развертыванию Portainer в докер-контейнере.

Файл docker-compose

Создадим каталог, где будем размещать файлы приложения:

mkdir /opt/portainer

Перейдем в него:

cd /opt/portainer

Создадим docker-compose файл:

vi docker-compose.yml

  1. services:
  2. portainer:
  3. image: portainer/portainer-ce:latest
  4. container_name: portainer
  5. hostname: portainer
  6. restart: unless-stopped
  7. environment:
  8. TZ: «Europe/Moscow»
  9. volumes:
  10. — /var/run/docker.sock:/var/run/docker.sock
  11. — ./portainer_data:/data
  12. ports:
  13. — «9000:9000»

Описание сценария

На что стоит обратить особое внимание:

Строки Описание
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 завершены.

Настройка удаленного docker хоста

Дополнительно рассмотрим добавление в 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 инфраструктурой.

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago