最近公司配了一台M1,於是在本地像往常一樣build image然後推到contianer registry,到這邊都很順利,但是到cloud run去重新部署的時候,就出現Cloud Run error: Container failed to start. Failed to start and then listen on the port defined by the PORT environment variable. Logs for this revision might contain more information. Logs URL:...錯誤,然後照著他的網址點進去,看到錯誤訊息:

Cloud Run error: Container failed to start. Failed to start and then listen on the port defined by the PORT environment variable. Logs for this revision might contain more information.

還有這個:

Failed to create init process: failed to load /usr/local/bin/docker-entrypoint.sh: exec format error

瘋掉,明明另一台電腦的設定一模一樣。


原來是因為cloud run 只接受這三種image格式:

Cloud Run accepts container images in the Docker Image Manifest V2, Schema 1 and Schema 2 image formats

參考官網說明

 

加上platform參數

在build image的時候,加上platform描述

$ docker build -t <image tag name> --platform linux/amd64 .

然後直接push上去,cloud run 就可以成功部署了。

$ docker push <image tag name>

 

 

0
0 回復

發表評論

想要加入討論嗎?
請盡情發表您的想法!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。