轉載的 (恩 做者是它 小黑羊JoinWings )python
用冷庫來解釋dockerlinux
談起Docker,小黑羊禁不住想起小時候在冷藏廠打工的經歷.....
爲何冷藏廠會亂入?由於那簡直是虛擬化和Docker活生生的例子。
首先你得有個庫房>>docker
這庫房敞亮吧,能造庫房的包工頭不少,好比華爲、惠普、Dell、聯想、曙光、浪潮之類的。
這些庫房有個高大上的名字,叫物理服務器。
魚呀、肉啊就能夠存到庫房了嗎?固然不行!
你須要低溫才能夠保鮮!ubuntu
因此你得有製冷機>>
主流的製冷機有兩大系列
Windows製冷機和Linux製冷機安全
配備了製冷機的庫房就能夠正常Work啦bash
最初的冷庫就是這個樣子
可是問題來了,各類庫藏品都很矯情。服務器
怕串味兒怎麼辦?溫度要求不一致怎麼辦?
SO--
冷庫虛擬化來啦>>
有個叫VMware的泥瓦匠想了個辦法,他把庫房隔成不少叫作「虛擬機」的小房間,「密封」起來,每一個房間放一個製冷機,這就是冷庫虛擬化。app
不怕串味兒,每一個小房間的溫度獨立可控,魚呀蝦呀表示很Happy。
世界清淨了,後來還有幾個泥瓦匠也學會了庫房分隔術,處處給人修冷庫。
泥瓦匠Vmware用的砌牆工具叫ESXi
泥瓦匠Citrix用的砌牆工具叫Xen Server
泥瓦匠Microsoft用的砌牆工具叫Hyper-V
還有一些草根泥瓦匠用的工具叫KVM
但是這世界上矯情的人太多,如此完美的方案他們仍是吹毛求疵瞎BB:運維
還能不能想點別的辦法?
因而--
冷庫Docker出世>>
製冷機Linux是個喜歡動腦筋的好青年,它發明了一種叫「LXC」的「軟隔離」技術,冷庫分隔成叫作「容器」的小單間,但每一個房間不須要單獨安裝製冷機,只要布些導冷管和溫控閥門,這樣看起來就達到目的了。
後來有人把「LXC」這種「軟隔離」技術發揚光大,用一堆「GO」零件進行改裝,能夠大幅提升冷庫的建設和改進速度,因而Docker橫空出世了!工具
Docker被業內稱爲容器管理引擎,在小黑羊看來,其實它就是一套給冷庫快速建「單間」和鋪「導冷管」的裝置,源於LXC,可是更智能。
好比,有些「冷庫」的使用者不知道儲存「冷凍大蝦」的單間該建成什麼樣,「導冷管」該怎麼排布。Docker就建了一個「樣板間」展覽中心,小白們仿照「樣板間」在自家冷庫裏能夠原樣造一個出來,這種「樣板間」被稱爲「Docker鏡像」,展覽中心被稱爲「Docker Hub」。
Docker Hub,你懂滴
因此,用Docker建的冷庫是這樣子滴。
兩類冷庫哪家強?
有了Docker是否是虛擬化就歇菜了呢,其實他們各有特點:
上圖和Docker官網略有區別,由於當下主流的Bare-metal虛擬化是沒有 Host OS這一層的,Docker官網的原圖對虛擬化進行了「蓄意」削弱,或者它主要針對KVM這類「半裸」虛擬化吧。
Docker的優點很明顯:
佔用資源少:共享一個製冷機(OS),各個單間埋導冷管(Bins/Libs)就好了。
部署快:不用建實體牆隔離(多NameSpace),有樣板間可參考(鏡像服務)
啓動快:擰開導冷管的閥門就能夠了(共享主機OS Kernel,快速加載),比啓動一臺「製冷機」方便。
因此對於「臭魚爛蝦」每天要搬進搬出、反覆折騰的客戶來說,Docker很「敏捷」!
可是,與虛擬化相比,Docker也存在一些不足,例如安全性:
一、非實體隔離牆,密封性很差,也許會串味兒。
二、導冷管或者冷器閥受損可能殃及整個製冷壓縮機。
三、有些未經檢疫的樣板間會放到展現中心,對下載者形成傷害。
同時,Docker因爲對Linux牌的製冷機過於依賴,致使對Windows製冷機沒法原生支持。
不過這一點,也許未來不是問題,聽說Windows家那位財大氣粗的老闆有包養Docker的計劃。
docker hub 有不少鏡像的地方,市場
docker 的構建,本身玩彷佛也沒有什麼意思。一開始還想着用docker + python玩科學計算的。然而並無什麼什麼用
sudo docker run -i -t test_docker ubuntu /bin/bash -i輸入 -t打開一個終端 就大概是這個意思吧。一點很重要的是,每一個docker命令都要用sudo 前綴
docker rm ,docker info 等等讓我想到不少linux工具都是這用的
查幫助 sudo docker build --help
試着跑了一下應用,能夠跑起來。碼頭工人,docker 對內部容器進行了一個輸入輸出包裝。使用docker engine 命令能夠把他們拉起來
對於它就這些吧,無愛
人生苦短,我用docker ------- 運維工程師