M1 使用本地 docker push 到 cloud run 出現錯誤

最近公司配了一台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>

 

 

學習程式原來可以這麼簡單:六角學院線上課程

初學者如何成為vue前端工程師:查看課程內容

---------------------------

| 軟體開發 | 網站建置 | 網頁系統 | 資料庫網站 |

| 客製化網站 (報名系統、投票系統、掛號系統...) |

| 前後端技術合作 |

歡迎與我們聯繫:jessica@penueling.com

加入Line立即聊聊:@539mjyid

0
0 回復

發表評論

Want to join the discussion?
Feel free to contribute!

發佈留言

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