閱讀565 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《第一本Docker書(修訂版)》——1.5 Docker的技術組件

本節書摘來自異步社區《第一本Docker書(修訂版)》一書中的第1章,第1.5節,作者:【澳】James Turnbull(詹姆斯•特恩布爾)著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看

1.5 Docker的技術組件

Docker可以運行於任何安裝了現代Linux內核的x64主機上。推薦的內核版本是3.8或者更高。Docker的開銷比較低,可以用於服務器、台式機或筆記本。它包括以下幾個部分。

一個原生的Linux容器格式,Docker中稱為libcontainer。
Linxu內核的命名空間(namespace)[9],用於隔離文件係統、進程和網絡。
文件係統隔離:每個容器都有自己的root文件係統。
進程隔離:每個容器都運行在自己的進程環境中。
網絡隔離:容器間的虛擬網絡接口和IP地址都是分開的。
資源隔離和分組:使用cgroups[10](即control group,Linux的內核特性之一)將CPU和內存之類的資源獨立分配給每個Docker容器。
寫時複製[11]:文件係統都是通過寫時複製創建的,這就意味著文件係統是分層的、快速的,而且占用的磁盤空間更小。
日誌:容器產生的STDOUT、STDERR和STDIN這些IO流都會被收集並記入日誌,用來進行日誌分析和故障排錯。
交互式shell:用戶可以創建一個偽tty終端,將其連接到STDIN,為容器提供一個交互式的shell。

最後更新:2017-06-01 14:01:51

  上一篇:go  首屆未來科學大獎得主薛其坤:神奇的量子世界
  下一篇:go  網站建設的過程中什麼最重要?