如何解決docker鏡像在不同cpu架構(gòu)上運(yùn)行容器報(bào)錯(cuò)問題
docker鏡像在不同cpu架構(gòu)上運(yùn)行容器報(bào)錯(cuò)
如果是在 x86 架構(gòu)機(jī)器上制作的鏡像, 如果沒有指定操作系統(tǒng),docker 會(huì)根據(jù)宿主機(jī)的 cpu 架構(gòu)自動(dòng)選擇對應(yīng)架構(gòu)的版本。
這會(huì)導(dǎo)致一個(gè)問題, x86 做的鏡像無法在 arm cpu 上運(yùn)行.
如何查看你在本地鏡像的 cpu 架構(gòu)類型?
docker inspect [鏡像 ID]
信息中有: "Architecture"
, "Os"
這兩個(gè)可以確定當(dāng)前鏡像的 cpu 架構(gòu).
"Architecture": "arm64", "Variant": "v8", "Os": "linux",
解決這個(gè)問題
需要在構(gòu)建鏡像時(shí)指定 cpu 架構(gòu)
原來我們在 Dockerfile 引入基礎(chǔ)包是下面這樣:
FROM node:14.18.3-alpine3.15
需要添加參數(shù) "--platform"
用來指定 cpu 架構(gòu)類型
FROM --platform=linux/arm64 node:14.18.3-alpine3.15
該參數(shù)的值需要去 hub.docker.com 查找對應(yīng)包的 "OS/ARCH"
信息
這樣,就可以制作指定 cpu 架構(gòu)的鏡像了
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker容器與centos宿主機(jī)時(shí)間一致設(shè)置方法
這篇文章主要介紹了docker容器與centos宿主機(jī)時(shí)間一致設(shè)置方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-05-05Docker教程之dockerfile構(gòu)建centos鏡像
這篇文章主要介紹了Docker教程之dockerfile構(gòu)建centos鏡像的相關(guān)資料,需要的朋友可以參考下2022-11-11Docker安裝Keycloak開源身份認(rèn)證服務(wù)的圖文教程
Keycloak是一款開源的認(rèn)證授權(quán)平臺,本文就來介紹一下Docker安裝Keycloak開源身份認(rèn)證服務(wù)的圖文教程,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03pycharm與ssh遠(yuǎn)程訪問服務(wù)器docker的詳細(xì)教程
這篇文章主要介紹了pycharm與ssh遠(yuǎn)程訪問服務(wù)器docker,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10