Перейти к содержимому
Главная страница » Развертывание Docker контейнеров из репозитория GitHub при помощи Portainer

Развертывание Docker контейнеров из репозитория GitHub при помощи Portainer

Перевод статьи автора: Джек Уоллен

Сначала добавьте файл Docker compose в репозиторий GitHub, а затем используйте этот репозиторий для развертывания контейнера full stack в Portainer.

Я не скрываю, что Portainer является моим универсальным менеджером контейнеров как для автономных экземпляров Docker, так и для Docker Swarm. Эта веб-платформа, безусловно, является самым мощным, гибким и надежным инструментом с графическим интерфейсом для управления вашими контейнерными развертываниями.

Я уже познакомил вас с Portainer, показал, как развернуть приложение с полным стеком, как создавать и использовать тома, управлять секретами, как добавить среду Kubernetes и даже как развернуть последнюю версию Portainer.

На этот раз я собираюсь показать вам удобный прием, который вы обязательно добавите в свой рабочий процесс с контейнерами в Docker. Что мы собираемся сделать, так это добавить файл Docker compose в репозиторий GitHub, а затем использовать этот репозиторий для развертывания контейнера full stack в Portainer.

Чтобы выполнить это, вам понадобится работающий экземпляр Portainer и учетная запись на GitHub. Убедитесь, что эти две вещи установлены и готовы к работе, прежде чем продолжить.

И, не мудрствуя лукаво, давайте приступим к делу.

Подготовка Github

Первое, что мы сделаем, это подготовим GitHub. Есть пара вещей, о которых необходимо позаботиться. Войдите в свою учетную запись на GitHub, и мы добавим наш файл docker-compose.yml в репозиторий. После входа в систему перейдите в репозиторий, который вы хотите использовать, и нажмите Добавить файл> Создать новый файл. Мы собираемся использовать образец файла WordPress compose, который содержит следующее содержимое:

version: "3"
services:
database:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wppassword
MYSQL_DATABASE: wpdb
MYSQL_USER: wpuser
MYSQL_PASSWORD: wppassword
volumes:
- mysql:/var/lib/mysql
 
wordpress:
depends_on:
- database
image: wordpress:latest
restart: always
ports:
- "8021:80"
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: wppassword
WORDPRESS_DB_NAME: wpdb
 
volumes:
["./:/var/www/html"]
volumes:


Не стесняйтесь использовать приведенный выше файл compose, изменять его в соответствии с вашими потребностями или использовать свой собственный файл compose. В любом случае, как только вы будете удовлетворены, обязательно введите необходимую информацию о фиксации и нажмите Зафиксировать изменения (рисунок 1).

Рисунок 1: Добавление нашего образца файла WordPress compose в GitHub.

После сохранения файла вам нужно будет вернуться в корневой каталог репозитория и щелкнуть раскрывающийся список кода, а затем скопировать HTTPS-ссылку для репозитория. Эта ссылка будет использоваться в Portainer позже.

Прежде чем покинуть GitHub, вам необходимо создать токен личного доступа, поскольку Portainer не может пройти аутентификацию в вашей учетной записи GitHub со стандартными учетными данными имени пользователя / пароля.

Чтобы создать токен личного доступа, щелкните по изображению вашего профиля на GitHub в правом верхнем углу и выберите Настройки из выпадающего меню. На странице настроек щелкните Настройки разработчика в левом нижнем углу навигации, а затем выберите токены личного доступа. На полученной странице (рисунок 2) нажмите Создать новый токен.

Рисунок 2: Генерация нового токена личного доступа в GitHub.

На полученной странице введите примечание для токена, а затем выберите все необходимые области, которые вы хотите добавить (рисунок 3).

Рисунок 3: Настройка токена доступа в GitHub.

Как только ваш токен будет настроен, прокрутите вниз и нажмите Сгенерировать токен. Затем вам будет представлен токен, который вам нужно будет скопировать и использовать через мгновение.

Пока у вас есть HTTP-ссылка для репозитория и личный токен доступа.

Настройка вашего стека в Portainer

Войдите в Portainer и выберите среду, с которой хотите работать. Щелкните Стеки в левой панели навигации, а затем нажмите Добавить стек. В появившемся окне (рисунок 4) присвойте стеку уникальное имя.

Рисунок 4: Настройка нашего нового стека, который будет извлечен из GitHub.

В поле URL репозитория вставьте HTTPS-ссылку на ваш репозиторий GitHub. Нажимайте на ползунок аутентификации, пока он не окажется в положении ВКЛЮЧЕНО, а затем введите адрес электронной почты, который вы используете для входа в GitHub, в поле Имя пользователя. Наконец, вставьте свой личный токен доступа в поле Personal Access Token.

Вы также можете включить автоматические обновления, щелкнув ползунок в положение ВКЛ., а затем настроив интервал выборки (по умолчанию 5 минут). Это может потребоваться вашему проекту, если вы регулярно обновляете файл docker-compose.yml в вашем репозитории GitHub.

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

После того, как со всем разобрались, нажмите Развернуть стек и дождитесь завершения развертывания. Вы не должны получать никаких ошибок, и ваш стек будет указан на странице Стеков (рисунок 5).

Рисунок 5: Наш стек wordpress3 успешно развернут.

И это, мои друзья, любящие Docker, все, что нужно для развертывания стека контейнеров из файла Docker compose в вашем репозитории GitHub. Протестируйте эту функцию и посмотрите, не поможет ли она сделать ваши развертывания немного более эффективными.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *