Создать контейнер в Container Apps
Контейнер и его ревизии создаются из образов, загруженных в репозиторий сервиса Artifact Registry. Если образа еще нет, создайте его локально и загрузите в репозиторий.
Если вы хотите познакомиться с Container Apps, не загружая свой образ в репозиторий Artifact Registry, создайте контейнер на базе готового тестового образа.
Чтобы создать контейнер и первую ревизию:
-
В личном кабинете перейдите на главную страницу сервиса Container Apps.
-
Нажмите Создать.
-
Укажите название контейнерного приложения.
-
(Опционально) Активируйте опцию Привилегированный режим.
Привилегированный режим (privileged mode) предоставляет контейнеру root-права при его выполнении. Привилегированный режим подходит для запуска в контейнере среды Docker-in-Docker, а также необходим при использовании Docker-образа, требующего расширенных прав для запуска.
ПримечаниеВ Docker-образах, содержащих сторонние приложения, могут выполняться операции, которые поддерживаются только в привилегированном режиме. Чтобы избежать ошибок, рекомендуется использовать Привилегированный режим.
-
Заполните параметры основного (main) контейнера.
-
Выберите конфигурацию — количество vCPU и RAM, которые выделяются для каждого экземпляра контейнера при обработке запроса.
ПримечаниеОбъем хранилища указан в мегабайтах (МБ) и гигабайтах (ГБ). При этом конфигурация и объем хранилища фактически измеряются в гибибайтах (ГиБ) и мебибайтах (МиБ). Это означает, что при расчетах для ваших значений могут быть некоторые различия.
-
Укажите название main-контейнера или используйте автоматически сгенерированное название.
-
Укажите URI Docker-образа.
Для поиска и выбора доступны образы, размещенные в реестре сервиса Artifact Registry в текущем проекте. Также вы можете использовать образы из реестров в других проектах, но только если реестры являются публичными. Для добавления URI образа из публичного реестра другого проекта используйте Поиск образа по URI.
После заполнения данных нажмите Выбрать.
-
Укажите порт. Порт должен соответствовать порту, на котором работает ваше приложение.
-
(Опционально) Укажите команду точки входа.
Указанная в поле команда перезапишет команду точки входа, заданную в образе контейнера. Можно указать несколько команд через запятую.
-
(Опционально) Укажите аргументы.
Указанные в поле аргументы перезапишут аргументы для команды точки входа, заданные в образе контейнера. Можно указать несколько аргументов через запятую.
-
(Опционально) Укажите переменные окружения. Подробнее о переменных — в статье Среда выполнения.
-
(Опционально) Настройте health-пробы.
Нажмите Добавить liveness-пробу и заполните поля:
-
Начальная задержка, сек — время после запуска контейнера, через которое выполняется первая liveness-проба.
-
Частота запуска пробы, сек — частота проверки работоспособности приложения.
-
Таймаут пробы, сек — время ожидания выполнения пробы. Если в течение этого времени проба не выполнена, то она считается неуспешной.
-
Количество неуспешных проб — при достижении указанного количества последовательных неуспешных проб приложение считается неработоспособным и контейнер перезапускается.
-
Способ запуска — выберите подходящий способ: exec или http.
-
exec — проба для запуска команды оболочки. Если команда возвращает код 0, то проба считается успешной. При получении других кодов проба считается неуспешной.
-
http — проба для отправки HTTP-запроса на сервер в контейнере. На URL отправляется HTTP GET-запрос и проверяется статус ответа. При получении кодов ответа 2xx и 3xx проба считается успешной. При получении кодов от 400 и выше проба считается неуспешной. Поле Путь должно содержать абсолютный путь. Если в пути используются специальные символы, например, пробелы, запятые, кириллические символы и другие, то предварительно перекодируйте путь в формат UTF-8.
-
-
-
(Опционально) Добавьте том для хранения данных вашего приложения.
-
-
(Опционально) Добавьте sidecar- и init-контейнеры.
-
Нажмите Следующий шаг.
-
Заполните параметры масштабирования контейнеров.
-
Выберите минимальное и максимальное количество экземпляров контейнера при масштабировании сервиса.
-
Выберите тип масштабирования.
-
-
Нажмите Следующий шаг.
-
Активируйте дополнительные опции.
-
Опция Публичный адрес — активируйте опцию, чтобы получить URL-адрес для вызова приложения из интернета по HTTPS без авторизации.
При выборе этой опции вы можете вызвать контейнер по протоколу WebSocket.
Для этого укажите в качестве адреса контейнера wss://<публичный URL-адрес>.
-
Выберите тип масштабирования.
-
Опция Логирование запросов — если опция активирована, то логи запросов к бэкенду будут записываться в сервисе логирования. Использование сервиса не тарифицируется.
-
Укажите значение в поле Request-таймаут.
Request-таймаут — время в секундах, в течение которого отправленный запрос ожидает ответа от контейнера. При отсутствии ответа в течение указанного времени запрос будет прерван.
-
(Опционально) Укажите значение в поле Idle-таймаут.
Idle-таймаут — время в секундах, в течение которого экземпляр контейнера ожидает запрос после того, как выполнил все поступившие запросы. По истечении этого времени и при отсутствии запросов экземпляр автоматически удаляется — масштабируется до нуля. Если поле не заполнено, то значение idle-таймаута по умолчанию — 60 секунд.
-
-
Нажмите Создать.
Контейнер публикуется в течение нескольких секунд и сразу доступен для использования.
Создавать контейнеры на базе загруженных образов можно через интерфейс Artifact Registry.
Это упрощенный способ создания контейнера без дополнительных настроек и опций — например, без настроек масштабирования, переменных и health-проб.