Image
Image提供一個用戶層完整的運(yùn)行時環(huán)境,使用戶就像使用VM一樣在相對獨(dú)立的環(huán)境中工作。
Image文件對Container是只讀的,Container在Image上創(chuàng)建一個File Union,F(xiàn)ileUnion記錄了用戶層對Image文件的“寫操作”,并始終為用戶層提供當(dāng)前最新的Image文件,所以在用戶層看來,好像是在讀寫Image本身一樣。這樣做的好處是:(1)啟動時不需要加載Image,提高了Docker的啟動速度;(2)不會污染Image,即實(shí)現(xiàn)對磁盤的隔離。
項(xiàng)目的部署時連同開發(fā)環(huán)境的Image一同發(fā)布到生產(chǎn)環(huán)境,實(shí)現(xiàn)了應(yīng)用連同開發(fā)環(huán)境的操作系統(tǒng)一起部署的效果,這樣做消除了環(huán)境差異造成的潛在風(fēng)險。
實(shí)際上我在實(shí)踐中已經(jīng)有了這樣的思路。比如把使用Geant4模擬粒子輸運(yùn)的ScientificLinux環(huán)境刻成鏡像,在實(shí)驗(yàn)室中模擬少量事例后原封不動地保存鏡像,然后拿到集算上去跑。但是對于輕量的Web服務(wù),顯然使用Docker經(jīng)濟(jì)地多了。