在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Linux  網(wǎng)絡(luò)安全/ 如何在centos上通過(guò)docker運(yùn)行樹(shù)莓派程序?

如何在centos上通過(guò)docker運(yùn)行樹(shù)莓派程序?

我現(xiàn)在有些樹(shù)莓派程序,但是希望在真機(jī)使用的時(shí)候,先在centos中跑一下測(cè)試,想到了Docker。我理解docker就像一個(gè)小型的操作系統(tǒng),代碼可以借著這個(gè)殼子來(lái)跑。我的理解是否有偏頗?如果沒(méi)有,大概要怎么去做呢?

回答
編輯回答
伐木累

在做你所述以上事情之前需要明確一點(diǎn),那就是CPU架構(gòu)問(wèn)題。
PC系統(tǒng)和嵌入式系統(tǒng)的CPU架構(gòu)不同,你可能需要了解:i386、x86_64、arm32、arm64、armv7、armv8(aarch32、aarch64)等cpu架構(gòu)的區(qū)別

很明顯,樹(shù)莓派屬于嵌入式系統(tǒng),使用的是arm架構(gòu),樹(shù)莓派3以上(包含3b和3b+)可支持64位cpu,也就是采用的是armv8架構(gòu),armv8支持兩種屬性,即:aarch32、aarch64,通俗的說(shuō)就是最新發(fā)行的樹(shù)莓派已經(jīng)可以支持64位,而以往的版本僅支持32位

如果你的Docker是裝在PC上的或者是PC上的虛擬機(jī)里的(比如vm虛擬機(jī)之類的)那么Docker所使用的硬件是與宿主機(jī)共享硬件核心,所以,宿主機(jī)的硬件核心決定了docker的核心,換句話說(shuō)就是docker并非虛擬機(jī),并不能虛擬出一套與宿主機(jī)不同cpu架構(gòu)的硬件,即便是vm虛擬機(jī),也是不能運(yùn)行arm版本的操作系統(tǒng)的

在樹(shù)莓派中可以安裝centos系統(tǒng),并且centos官方有img鏡像,但僅是32位的。
在樹(shù)莓派中運(yùn)行的centos系統(tǒng)一樣可以安裝Docker,值得注意的是Docker官方的文檔中指出:不建議嵌套Docker,也就是在Docker中創(chuàng)建一個(gè)centos鏡像容器,然后在此容器中又安裝一個(gè)Docker,雖然支持但不建議這樣做。

想要實(shí)現(xiàn)如你所述的測(cè)試環(huán)境,可以參考以下做法:
1、使用和樹(shù)莓派同樣cpu架構(gòu)的真機(jī),也就是arm架構(gòu)的真實(shí)測(cè)試機(jī)器
2、使用qemu虛擬機(jī),qemu是一個(gè)軟件模擬環(huán)境,可以模擬運(yùn)行arm架構(gòu)的操作系統(tǒng),不過(guò)據(jù)說(shuō)性能堪憂
3、使用交叉編譯環(huán)境,也就是讓pc上的Linux具有編譯不同cpu架構(gòu)程序的能力,程序經(jīng)過(guò)交叉編譯后即可移植到arm架構(gòu)的機(jī)器上去

以上所述如有偏頗或不同方案,希望不吝賜教。

2017年3月11日 08:56