Приложение-контейнер не запускается с сообщением «standard_init_linux.go:228: пользовательский процесс exec вызвал: ошибка формата exec»
Я использовал приложения для контейнеров Azure, и при развертывании команде не удалось подготовить контейнер, и я сказал мне проверить аналитику журнала. Когда я проверил, я вижу только один журнал из контейнера, в котором говорится:
standard_init_linux.go:228: пользовательский процесс exec вызвал: ошибка формата exec
В чем проблема?
1 ответ
Эта ошибка может возникнуть, если арка образа Docker не соответствует среде выполнения. Azure Container Apps работает на базе архитектуры amd64, и я создал и опубликовал эти док-контейнеры на процессоре Mac M1 ARM. Здесь у меня было два варианта:
- Используйте такие функции, как
docker buildx build --platform linux/amd64
эмулировать amd64 и опубликовать там версию - Используйте какую-нибудь удаленную сборку (например, GitHub Actions) для сборки контейнера в архитектуре, которая соответствует среде Azure Container Apps.