- tocdepth
2
Проверка Docker-образа
Если контейнер или ревизия в Container Apps находятся в статусе «Ошибка», возможно проблема в образе.
Убедитесь, что вы можете запустить контейнер локально.
Если контейнер локально не запускается, нужно диагностировать и устранить проблему с образом.
Убедитесь, что образ собран в соответствии с требованиями:
Язык программирования — любой.
Доступный формат образа — Docker Image Manifest V 2.
Docker-образ должен имплементировать любой тип веб-сервера и определять номер порта, на котором контейнер будет принимать запросы.
Docker-образ должен быть собран под плафторму linux/amd64.
Container Apps пока не поддерживает запуск Docker-oбразов, собранных под другие платформы. При использовании Apple Mac с процессором серии М образ по умолчанию собирается под платформу arm64.
При работе на Mac добавляйте в команду скачивания и сборки образа параметр
--platform linux/amd64
.В Docker-образе не должны использоваться настройки для подключения томов (volumes) к контейнеру.
Если образ был собран на основе Dockerfile, который содержит инструкцию VOLUME, то такой образ пока не может использоваться для развертывания контейнера в Container Apps.
Контейнер не должен запускаться от имени root-пользователя.
На стороне Container Apps ограничен запуск контейнеров от имени root-пользователя. По умолчанию контейнеры запускаются от имени пользователя с идентификатором (UID) 1000.
Чтобы избежать ошибок в работе контейнера, в Dockerfile укажите команду создания пользователя с идентификатором 1000 и назначьте ему права на пользовательскую директорию:
RUN addgroup -g 1000 appuser \ && adduser -u 1000 -G appuser -s /bin/sh -D appuser RUN chown -R 1000 /mydirectory
где
/mydirectory
— название директории в вашем приложении.
Если образ собран в соответствии с требованиями и контейнер запускается локально, но в Container Apps контейнер не отвечает, проверьте логи контейнера.
Была ли статья полезной?
для Dev & Test