Приложение-контейнер не запускается с сообщением «standard_init_linux.go:228: пользовательский процесс exec вызвал: ошибка формата exec»

Я использовал приложения для контейнеров Azure, и при развертывании команде не удалось подготовить контейнер, и я сказал мне проверить аналитику журнала. Когда я проверил, я вижу только один журнал из контейнера, в котором говорится:

standard_init_linux.go:228: пользовательский процесс exec вызвал: ошибка формата exec

В чем проблема?

1 ответ

Эта ошибка может возникнуть, если арка образа Docker не соответствует среде выполнения. Azure Container Apps работает на базе архитектуры amd64, и я создал и опубликовал эти док-контейнеры на процессоре Mac M1 ARM. Здесь у меня было два варианта:

  1. Используйте такие функции, как docker buildx build --platform linux/amd64эмулировать amd64 и опубликовать там версию
  2. Используйте какую-нибудь удаленную сборку (например, GitHub Actions) для сборки контейнера в архитектуре, которая соответствует среде Azure Container Apps.
Другие вопросы по тегам