Поиск по сайту:

Как развернуть собственный контейнер на платформе приложений DigitalOcean


Платформа приложений — это новая служба DigitalOcean, которая предлагает полностью управляемое развертывание приложений из системы управления версиями или из образа контейнера. Вот как вы можете запустить контейнер в облаке, используя образ в своем реестре контейнеров DigitalOcean.

Настройте свой реестр контейнеров

Сначала вам нужно создать реестр контейнеров. Войдите в панель управления DigitalOcean и нажмите ссылку «Реестр контейнеров» на левой боковой панели.

Дайте вашему новому реестру имя. Имена должны содержать от 3 до 63 символов и содержать только буквы, цифры и тире.

Доступны три плана подписки на Container Registry: Free, Basic и Professional. Уровень «Бесплатный» предоставляет вам один репозиторий и 500 МБ дискового пространства.

Выберите уровень и нажмите кнопку «Создать реестр», чтобы подготовить реестр. Это может занять несколько секунд.

«Docker Login» в вашем реестре

После завершения подготовки вы попадете на страницу управления реестром. Нажмите серую кнопку «Действия» в правом верхнем углу. Выберите «Загрузить учетные данные Docker» в меню.

Измените переключатели «Разрешения учетных данных» на «Чтение и запись». Это позволит вам добавлять новые образы в ваш реестр. Нажмите синюю кнопку «Загрузить конфигурацию», чтобы получить новый файл конфигурации для использования с Docker.

Теперь вы готовы взаимодействовать со своим реестром с помощью интерфейса командной строки Docker в вашей системе. Переименуйте загруженный файл конфигурации в config.json и переместите его в новый каталог. При использовании Docker передайте флаг --config с путем к этому каталогу. Клиент Docker загрузит внутри config.json, поэтому Docker сможет пройти аутентификацию в вашем реестре.

mkdir ~/do-config && mv docker-config.json ~/do-config/config.json
docker --config ~/do-config pull my-image:latest

Существуют и другие способы подключения Docker к вашему реестру, в том числе с помощью инструмента командной строки DigitalOcean Doctl. Здесь мы используем самый простой подход, чтобы сосредоточиться на платформе приложений, а не на нюансах Docker и Container Registry.

Создайте и создайте свой образ

После настройки Container Registry пришло время запустить образ Docker! Как только ваш образ появится в вашем реестре, App Platform сможет получить и развернуть его.

Для этого руководства мы будем повторно использовать образ Apache 2 по умолчанию — httpd:latest в Docker Hub. Перетащите образ на свой компьютер, а затем верните его в реестр контейнеров DigitalOcean.

# pull from Docker Hub
docker pull httpd:latest

# tag the image with a path in your Container Registry
docker tag httpd:latest registry.linux-console.net/my-registry/httpd:latest

# push to your Container Registry
docker --config ~/do-config push registry.linux-console.net/my-registry/httpd:latest

Не забудьте указать правильный файл конфигурации аутентификации при отправке в реестр DigitalOcean. Вам также потребуется изменить показанные пути, чтобы они соответствовали имени вашего собственного реестра контейнеров. Это значение, которое вы выбрали на экране создания. Он отображается на странице реестра в Панели управления.

Вы должны увидеть свое изображение в веб-интерфейсе Container Registry после завершения отправки. Теперь вы готовы развернуть его с помощью App Platform.

Развертывание с помощью платформы приложений

Переключитесь на платформу приложений, щелкнув ссылку «Приложения» в верхней части раздела «Управление» на левой боковой панели. Нажмите синюю кнопку «Запустить приложение», чтобы продолжить.

Выберите «DigitalOcean Container Registry» в качестве источника репозитория.

«Маршруты HTTP» позволяют изменить базу URL (например, на my-domain.com/my-example-base). Настройте пары переменных среды ключ-значение, используя раздел «Переменные среды». Параметр «Выполнить команду» позволяет переопределить команду, которая будет выполняться в контейнере. Для нашего простого контейнера Apache все это следует оставить по умолчанию.

Раздел «Порт HTTP» определяет порт, который прослушивает ваш контейнер. Apache по умолчанию использует порт 80, поэтому это значение необходимо обновить. Нажмите ссылку «Изменить» и измените порт на 80.

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

Наконец, выберите план App Platform для подписки. Образы контейнеров не поддерживаются в бесплатном начальном плане. Выберите уровень «Базовый» или «Про», а затем выберите размер оборудования для развертывания. Для нашего простого образа Apache достаточно базового уровня с одним экземпляром контейнера объемом 512 МБ стоимостью 5 долл. США в месяц.

Нажмите «Запустить базовое приложение», чтобы начать развертывание. Вы попадете на панель инструментов своего приложения, где сможете отслеживать процесс подготовки. Это может занять несколько минут. После завершения развертывания вы увидите действующий URL-адрес вашего приложения. Щелкните ссылку, чтобы просмотреть развернутый контейнер!

Обновление вашего развертывания

Ваше развертывание будет обновляться автоматически при изменении тега исходного изображения. Отправьте новую версию образа в свой реестр контейнеров, чтобы инициировать перестроение вашего приложения. Через несколько минут появится новое развертывание.

DigitalOcean предупреждает, что кэширование изображений может означать, что новые развертывания не всегда происходят, если вы не изменили фактическое имя тега. Рекомендуется использовать уникальные имена тегов для каждого обновления образа, чтобы снизить этот риск.

Управление вашим приложением

Вы можете управлять своим приложением на странице платформы приложений. Вы можете просматривать показатели использования ресурсов («Статистика»), журнал последних развертываний («Развертывания») и журналы в реальном времени внутри контейнера («Журналы»). Вкладка «Консоль» дает вам сеанс оболочки в вашем контейнере.

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

Дополнительные настройки находятся на вкладке «Компоненты». Это позволяет вам изменять конфигурацию контейнера, включая источник реестра контейнера (изображение и тег), а также маршруты и порт HTTP.

Переменные среды, установленные на этом экране, относятся к компоненту-контейнеру; те, которые определены на экране «Настройки», применяются ко всем компонентам в вашем приложении. Одно приложение App Platform может иметь несколько компонентов, таких как контейнер и подключение к базе данных.

Чтобы удалить свое приложение, используйте красную кнопку «Удалить» в нижней части экрана настроек. Отдельные компоненты можно удалить из вкладки «Компоненты». Чтобы удалить образ контейнера, вернитесь в интерфейс реестра контейнеров, щелкните три точки справа от имени вашего образа и нажмите «Удалить».

Краткое содержание

Платформа приложений DigitalOcean и реестр контейнеров предоставляют простой способ развертывания контейнерных рабочих нагрузок в облаке. Вам не нужно устанавливать Docker или настраивать какие-либо обратные прокси-серверы для ручной маршрутизации трафика.

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