上篇寫了docker實踐方面的東西,想想還是補充一下理論方面的吧,也好成爲一個體系,方便學習。
docker可以用運輸業的集裝箱來形象表示,沒有集裝箱之前,貨物運輸是這樣的:
這種情況下,貨物怎麼運輸,哪種運輸工具運送哪種貨物,沒有一個標準,實際貨物運輸起來將會非常雜亂,形成如下的類似於全排列的東西
看看這個,是不是花眼了,沒有統一的標準,就會帶來大量的侷限性,試想一下,火車要適應運輸所有貨物的任務,那麼它要做多少改造,這是一種對運力巨大的浪費,有了docker之後就是這樣了
docker將所有的內部實現包裝起來,只留下外部統一的接口,負責和宿主機進行交互,就跟jvm一個道理,不管裏面實現多麼複雜,對外都是統一的接口,真正實現了一次打包,隨處運行的的目標。
那麼docker究竟是什麼呢
Docker 能將應用封裝成一個標準化單元,稱作鏡像,裏面包含了應用運行所需的一切:系統工具/庫、運行時、應用代碼等。鏡像具有自包含的特點。這樣就保證了,不管在什麼硬件環境下,應用都能一致的運行。
它有如下特性
輕量
好了,理論方面的大概就這些,其實這些也是借鑑各種資料,畢竟理論方面的東西,大部分人都是這麼來的!還是那句話,不重複製造輪子,看完這篇,配合上一篇,相信會滿足初級docker學習者的要求吧!純屬學習筆記,非喜勿噴!