自古習(xí)武之人,必有好兵器傍身,可謂如虎添翼。我們既然要在云上“興風(fēng)作浪”,那必然要選一把趁手兵器。常見的容器基礎(chǔ)操作系統(tǒng)鏡像主要有alpine,centos,Ubuntu,Debian等,busybox是包含一定工具的基礎(chǔ)鏡像,scratch是空鏡像。這里值得注意的是,他們有的雖然有操作系統(tǒng)的名字,但并不能和真正的操作系統(tǒng)劃等號,因?yàn)樗麄兌荚趶?fù)用宿主機(jī)的內(nèi)核模塊實(shí)現(xiàn)上層功能。好的兵器就那幾種描述,鋒利程度、重量、長度、形狀是否趁手。好的操作系統(tǒng)基礎(chǔ)鏡像不僅需要考慮效率,還要考慮可移植性、分發(fā)效率、開發(fā)者用得是否順手、安全性、穩(wěn)定性等情況。 0x1 關(guān)于標(biāo)準(zhǔn)庫C語言標(biāo)準(zhǔn)庫是所有操作系統(tǒng)運(yùn)行其他軟件的基礎(chǔ),畢竟操作系統(tǒng)是C語言開發(fā)的,uclibc,eglibc,glibc,musl-libc是幾種常見的C語言標(biāo)準(zhǔn)庫,musl libc和glibc較為常見,alpine內(nèi)置musl-libc,而centos、Ubuntu、Debian一般內(nèi)置glibc。 基于不同標(biāo)準(zhǔn)庫開發(fā)的二進(jìn)制程序是有差異的,因此首要基于已有程序的標(biāo)準(zhǔn)庫版本選擇基礎(chǔ)鏡像。?alpine基于apk包管理工具,centos基于rpm/yum包管理工具,Ubuntu基于apt包管理工具,Debian基于dpkg包管理工具。
當(dāng)然這些都不是固定的,你甚至可以定制這些組合,但畢竟功夫花在刀刃上不是嗎?0x3 關(guān)于shell版本 bash,csh,sh,zsh等,都是可以定制裝入容器的。在沒有特殊需求情況下,建議采用使用最廣的bash作為解釋器。?在討論操作系統(tǒng)的時(shí)候,很多糾結(jié)點(diǎn)是桌面環(huán)境的華麗或簡約,是啟動(dòng)器的優(yōu)雅與小巧,當(dāng)然也包括上述所有東西,最不可少的就是系統(tǒng)里的各類工具軟件的豐富程度。 但事實(shí)上,絕大多數(shù)人會(huì)選擇自己熟悉的。 月是故鄉(xiāng)明,不是因?yàn)榧亦l(xiāng)多特別,是你熟悉家鄉(xiāng)的月光與風(fēng)景。
|