До 12.5 млн токенов на тест ИИ-агента
Вход/ Регистрация

Деплой из Dockerfile

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

У нас есть туториал с примером развертывания приложения через Dockerfile.

Требования для запуска

  • Dockerfile может быть размещен в корне репозитория или по пути, который вы укажете в поле «Путь до директории проекта», и должен содержать необходимые инструкции для сборки и запуска и приложения. Пример докерфайла и приложения можно найти на Гитхабе.
  • В Dockerfile должен быть прописан параметр EXPOSE, чтобы сервис мог определить, какой порт должен слушать веб-сервер. Если EXPOSE не задан, веб-сервер по умолчанию будет слушать порт контейнера 8080.

Пример:

    
FROM python:3.6 MAINTAINER Name Name "mail@mail.com" COPY . /app WORKDIR /app RUN pip install -r requirements.txt ENTRYPOINT ["python"] CMD ["app.py"] EXPOSE 3478
  • Необходимые переменные окружения могут быть заданы как в самом докерфайле, так в процессе запуска приложения в панели управления.

Шаг 1. Подключение репозитория

Вы можете подключить репозиторий одним из следующих способов:

  • Из аккаунта GitHub, GitLab или Bitbucket
  • По ссылке
  1. Перейдите в раздел «App Platform» и нажмите кнопку «Создать» или «Добавить».
    • Если вы уже залогинены в Git-аккаунт, панель отобразит все доступные репозитории. Выберите нужный.
    • Если нужно авторизоваться в другой Git-аккаунт, раскройте список репозиториев и кликните «Добавить аккаунт».
  2. Кликните на иконку нужной платформы.
  3. Авторизуйтесь в своем Git-аккаунте и разрешите Timeweb Cloud доступ ко всем или отдельным репозиториям.
  4. Выберите нужный репозиторий в панели Timeweb Cloud.
  5. Выберите ветку для деплоя. Панель отобразит 200 последних веток, а также ветку по умолчанию (master, main или default).
  6. Оставьте опцию «Сборка по последнему выполненному коммиту» включенной, чтобы автоматически перезапускать деплой приложения при появлении новых коммитов в репозитории.

    Если хотите выбирать коммит для деплоя вручную, отключите эту опцию.

    Автодеплой можно отключить и позже, в любой момент.

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

Убедитесь, что в пункте «Фреймворк» выбран «Dockerfile».

Шаг 2. Регион и конфигурация сервера

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

В дальнейшем, если потребуется, вы сможете перейти на более мощный тариф.

Шаг 3. Дополнительные настройки

Кликните «Показать расширенные настройки», чтобы задать дополнительные параметры.

App Platform автоматически прочитает инструкции из докерфайла и соберет приложение в соответствии с ними.

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

Приватная сеть

Выберите приватную сеть, в которую будет добавлено приложение, и укажите IP-адрес, который оно будет использовать. Если приватная сеть не нужна — выберите «Без приватной сети».

Изменить приватную сеть после деплоя нельзя.

Если для приложения настроен приватный IP-адрес, во время повторного деплоя возможна кратковременная недоступность приложения. 

Путь к директории проекта

Если Dockerfile размещен в корне репозитория, оставьте это поле пустым.

Если Dockerfile размещен в поддиректории, укажите путь к ней относительно корня. Этот путь используется как расположение Dockerfile и становится контекстом сборки.

Путь проверки состояния

Путь проверки состояния позволяет проверять, корректно ли работает приложение. Подробнее.

Переменные

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

Сертификаты Минцифры / Сертификаты ТЦИ

Могут потребоваться для работы с API российских банков и государственных организаций. Подробнее. 

Для приложений, развернутых из Dockerfile, для установки сертификатов потребуется дополнительная настройка.

Шаг 4. Информация о приложении

Задайте свое имя приложения, если требуется, и комментарий к нему. Это данные, которые будут отображаться в панели управления.

Также выберите, в какой проект его нужно добавить.

Эти настройки также можно изменить в дальнейшем.

Шаг 5. Деплой

Нажмите Запустить деплой. Как только процесс начнется, вы увидите лог деплоя на вкладке «Деплой». 

Как правило, он содержит всю необходимую информацию для устранения возможных ошибок. Если что-то пойдет не так, например, из-за наличия ошибок в коде, в логе будут выведены уведомления о них с уточнением причины проблемы. 

При первом развертывании проекта установка сервера может занять некоторое время. Как только процесс завершится, статус приложения обновится, а также вы увидите сообщение об этом в логе. 

Group 1321314123

Готово!

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

Приложение будет доступно по 443 порту; порт 80 также открыт.

Без Названия

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

Была ли статья полезна?
Ваш ответ поможет улучшить документацию
Пока нет комментариев