記錄一次docker多平臺build問題

2025年1月13日20:39:30 發表評論 1,259 ℃

最近接手一個國外項目,用的rust語言,部署在AWS的ECS上面。

我們開發在開發環境build發布到集群以后,報錯docker: not found。

一開始以為是容器里面沒有安裝成功docker,檢查dockerfile沒有發現異常。

docker build以后本地測試鏡像里面docker命令可以正常運行。

由于這個項目的部署沒有采用自動化,而且服務與服務之間的部署都是靠多個腳本去觸發。

一開始懷疑ECS上面運行的鏡像不是我們本地推送的鏡像,經過一些列的排查,發現使用的tag是正確的。

由于這個項目build需要很久,push鏡像也需要很久,就自己寫了一個dockerfile build測試,但是發布以后可以正常找到docker命令。

就在沒有方向的時候,開發說這個項目之前是部署在amd架構的服務器上面的,最近項目方才改到了arm架構上面,會不會是因為這個。

看了使用的build命令

記錄一次docker多平臺build問題

buildx 默認使用的 構建器( builder ) 驅動是 docker driver,它不支持同時構建多個 platform 的鏡像。

需要使用 docker buildx create 創建docker-container driver的構建器。

docker run --privileged --rm tonistiigi/binfmt --install all

docker buildx create --name mybuilder --driver docker-container --use

docker buildx inspect --bootstrap

【騰訊云】云服務器、云數據庫、COS、CDN、短信等云產品特惠熱賣中

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: