關於Docker你不知道的事 什麼是Docker

2021-09-23 22:46:01 字數 1081 閱讀 7612

之前談虛擬化歷史就說過,docker實際是源自於dotcloud的乙個專案,在2023年開源後就飛速發展。我們今天要談的是,什麼是docker?

通常我們提docker的時候,都指的是docker-engine,docker-engine就是執行在主機上的乙個守護程序,類似於於hyper-v的管理程式。docker-engine是c/s的架構,daemon就是它的server,我們通常使用的docker命令有兩層功能,一層是作為daemon執行,一層是作為client執行。daemon可以監聽在某乙個socket埠上,也可以監聽到unix本地socket之上,而client也可以操作本機的daemon和遠端的daemon。當操作遠端daemon的時候,需要在client後面跟ip、埠以及tls證書。

談到容器,很多人會把它當成是乙個主機。這其實是錯誤的。容器在主機上就是乙個程序,但是它有不同於普通的程序。普通的程序之間是共用的cpu、記憶體、網路、pid等資源,而容器是隔離的程序,它執行在乙個沙盒之中,同時還能限定它所使用的資源。這主要借助於linux kernel的cgroup和namespace技術,cgroup可以控制程序使用多少資源,如:cpu、記憶體、磁碟io速率等,namespace用來隔離資源,如:pid、網路、主機名等。正因為如此docker最初原生只支援linux,後來所謂的跨平台支援也只是通過vm來遠端操控。不過windows server 2016已經加入了對docker的原生支援。

乙個程序肯定少不了對於內容的需求,就好比一台電腦不能沒有硬碟。容器的內容就是它的layered fs,這個也可以說是docker創新的一方面。它使用了copy-on-right的技術,將檔案系統進行了分層,可以充分的復用公共部分。映象其實很像以前我們安裝作業系統的ghost映象,使使用者能夠快速的安裝它需要的軟體。容器執行時,就會裝載映象檔案,以及相關的環境,同時在最上層加入乙個可寫層。

由於容器的輕量化,容器能解決的根本問題就是提公升效率和速度。docker 宣稱的是build, ship and run anywhere,只是從速度、效率和可移植性來講的。但是,你有沒有想過,雲計算一直要解決的是什麼問題——水平擴充套件,水平擴充套件是不是就需要很多的結點。對了,docker會成為雲計算的基礎架構,這才是docker這麼火的根本原因。說到具體的用途,我總結了一些:

關於提單,你不知道的事!

提單bill of lading b l 就代表貨物,一定要對提單有足夠的了解。基本知識和注意點 提單通常是3正3副,也有2正3副的。假如信用證有要求的話,要和貨代特別說明。t t付款方式時,理論上只需要一張正本就可以了 提貨後其他正本自動失效,副本不能提貨 t t收到全部貨款後,給客人寄正本時可以...

關於checkpoint你可能不知道的事

我們都知道,當使用者修改了資料,資料頁在記憶體中修改後並不是每次都重新整理到磁碟上。checkpoint之前的資料頁保證一定落盤了,這也代表這這部分redolog可以被覆蓋了,checkpoint之後的之後的資料有可能落盤,也有可能沒有落盤,所以在進行崩潰恢復時,checkpoint之後的日誌還是需...

關於移動廣告平台,你不知道的那些事

移動網際網路進入存量博弈時代。智慧型手機出貨量下降,使用者增速放緩,使用者時長逐漸見頂 營銷人員紛紛採取更加激進的廣告營銷策略獲取使用者。但面對日益繁多的移動廣告平台,廣告主在選擇變多的同時也對其選擇高效平台的能力提出了更多的挑戰。尤其是在應對精細化運營的要求下,什麼樣的平台獲客轉化更好,什麼樣的平...