如何解決docker鏡像在不同cpu架構(gòu)上運(yùn)行容器報(bào)錯(cuò)問(wèn)題
docker鏡像在不同cpu架構(gòu)上運(yùn)行容器報(bào)錯(cuò)
如果是在 x86 架構(gòu)機(jī)器上制作的鏡像, 如果沒(méi)有指定操作系統(tǒng),docker 會(huì)根據(jù)宿主機(jī)的 cpu 架構(gòu)自動(dòng)選擇對(duì)應(yīng)架構(gòu)的版本。
這會(huì)導(dǎo)致一個(gè)問(wèn)題, x86 做的鏡像無(wú)法在 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è)問(wèn)題
需要在構(gòu)建鏡像時(shí)指定 cpu 架構(gòu)
原來(lái)我們?cè)?Dockerfile 引入基礎(chǔ)包是下面這樣:
FROM node:14.18.3-alpine3.15
需要添加參數(shù) "--platform" 用來(lái)指定 cpu 架構(gòu)類型
FROM --platform=linux/arm64 node:14.18.3-alpine3.15
該參數(shù)的值需要去 hub.docker.com 查找對(duì)應(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-05
Docker教程之dockerfile構(gòu)建centos鏡像
這篇文章主要介紹了Docker教程之dockerfile構(gòu)建centos鏡像的相關(guān)資料,需要的朋友可以參考下2022-11-11
解決使用Docker Compose管理容器的問(wèn)題
在Docker Compose中,根據(jù)一個(gè)配置文件,將所有與應(yīng)用系統(tǒng)相關(guān)的應(yīng)用和對(duì)應(yīng)的容器進(jìn)行配置,再根據(jù)Docker Compose提供的命令進(jìn)行啟動(dòng),就可以解決上面說(shuō)的多容器之間的復(fù)雜問(wèn)題,感興趣的朋友跟隨小編一起看看吧2021-09-09
Docker安裝Keycloak開(kāi)源身份認(rèn)證服務(wù)的圖文教程
Keycloak是一款開(kāi)源的認(rèn)證授權(quán)平臺(tái),本文就來(lái)介紹一下Docker安裝Keycloak開(kāi)源身份認(rèn)證服務(wù)的圖文教程,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
pycharm與ssh遠(yuǎn)程訪問(wèn)服務(wù)器docker的詳細(xì)教程
這篇文章主要介紹了pycharm與ssh遠(yuǎn)程訪問(wèn)服務(wù)器docker,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10

