Потенциальная проблема 1
Если изменение alpine
на debian
работает для вас, это означает, что это проблема с кросс-компиляцией.
The golang
image основан на debian и использует glib c, alpine
image использует musl lib c. Иногда они имеют несовместимость и выдают себя в худших возможных сообщениях об ошибках.
Так что я подозреваю, что это не проблема Cloud Run, а что-то до этого. Для проверки вы также можете запустить свой контейнер локально, как если бы он работал в облачной среде https://cloud.google.com/run/docs/testing/local
Потенциальная проблема 2
Нечто подобное случилось со мной однажды, и оказалось, что пакет, который я собирал, не был package main
. Поэтому вместо того, чтобы создавать исполняемый двоичный файл, я создавал объектный файл (.o), и, конечно, независимо от того, насколько сильно я "chmod + x", он не запускался.
Проверьте пакет go путь, который вы строите на самом деле это package main
.