Docker学习笔记【一】
【本篇學習筆記來源于 Docker 從入門到實踐】
1.什么事Docker?【What】
Docker在容器的基礎上,進行了進一步的封裝,從文件系統、網絡互聯到進程隔離等,極大的簡化了容器的創建和維護。從而讓Docker技術比虛擬機技術更為輕便、快捷。
2.Docker和傳統虛擬化方式的不同。
傳統虛擬機技術是虛擬一套硬件后,在其上運行一個完整操作系統,在該系統上再運行所需應用進程;而容器內的應用進程直接運行與宿主的內核,容器中沒有自己的內核,而且沒有進行硬件虛擬。因此容器要比傳統虛擬機更為輕便。
3.為什么要使用Docker?【Why】
- 更高效的利用系統資源
- 更快速的啟動時間
- 一致的運行環境
- 持續交付和部署
- 更輕松的遷移
- 更輕松的維護和擴展
對比傳統虛擬機總結
4.基本概念
Docker中包含三個基本概念:鏡像(Image)、容器(Container)和倉庫(Repository)。
Docker鏡像是一個特殊的文件系統,除了提供容器運行時需要的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數。鏡像不包含任何動態數據,其內容在構建后不會被改變。
Docker采用了Union FS 的技術,將其設計為分層存儲的架構。
?
Docker容器。鏡像和容器的關系,就像是面向對象程序設計中的類和實例一樣。鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啟動、停止、刪除和暫停等。
容器跟鏡像一樣,每一個容器運行時,是以鏡像為基礎層,在其上創建一個當前容器的存儲層,容器存儲層的生存周期和容器一樣,容器消亡是,容器存儲層也隨之消亡。即,任何保存于容器存儲層的信息都會隨容器刪除而丟失。
按照Docker最佳時間的要求,容器不應該向其存儲層內寫入任何數據,容器存儲層要保持無狀態化。所有的文件寫入操作,都應該使用數據卷,或綁定宿主目錄,這樣會跳過容器存儲層,直接對宿主發生讀寫,其性能和穩定性更高。
因為,數據卷的生存周期獨立于容器,容器消亡,數據卷不會消亡。因此,使用數據卷后,容器刪除或重新運行之后,數據不會丟失。
?
鏡像構建完成后,很容易在當前的宿主機上運行,如果需要在其他服務器上使用這個鏡像,我們就需要一個集中的存儲、分發鏡像的服務,DockerRegister。
一個DockerRegister中包含多個倉庫,每個倉庫可以包含多個標簽,每個標簽對應一個鏡像。
轉載于:https://www.cnblogs.com/zacky31/p/8854841.html
總結
以上是生活随笔為你收集整理的Docker学习笔记【一】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: truncate table
- 下一篇: Semver(语义化版本号)扫盲