1. 程式人生 > >第1章 初始Docker容器

第1章 初始Docker容器

linux容器 image container 計算機 linu info git 開發 的區別

1.1 什麽是Docker

slogan:Build Ship Run Any App Anywher。關鍵在於Ship,通過把程序和程序運行所需要的環境一起交付。

Linux容器技術:

  Docker是在Linuk容器(Linux Containers)技術的基礎上發展起來的。LUX把單個操作系統的資源劃分到多個孤立的組裏,在孤立的組裏平衡有沖突的資源使用需求。與虛擬機相比,這種通過劃分組來平衡資源沖突的方式代價更小,它不需要指令級別模擬也不需要即使編譯。容器直接在本地CPU上運行

1.2為什麽要使用Docker

  • 更快的交付和部署。開發人員使用鏡像構建標準開發環境,運維和測試人員使用鏡像來獲得和開發人員相同的運行環境。開發環境和測試運維環境無縫對接,節約開發、測試、部署時間。
  • 更高效的資源利用。相較於虛擬機而言Docker不需要額外的Hypervisor支持,Docker是內核級別的虛擬化,實現更高的性能。
  • 更簡單的更新管理。使用Dockerfile,通過簡單的修改就可以代替大量的更新操作。

1.3 Docker與虛擬化

  虛擬化:虛擬化是對計算機資源的抽象,是為了更好的管理計算機資源。讓同時運行在一個計算機上的多個進程以為自己能夠獨占當前操作系統資源

  Docker虛擬化與虛擬機比較

  • Docker是操作系統級的虛擬化,內核通過創建多個虛擬的操作系統實例來隔離進程。虛擬機是硬件輔助虛擬化,虛擬的是整個硬件。
  • 虛擬機需要模擬一個獨立的OS Kernel而Docker不需要
  • 虛擬機需要一個虛擬機管理程序如VMware,而Docker只需要一個Docker引擎,後者的開銷更小
  • Docker更快妙級,虛擬機分級別
  • Docker對系統資源需求更少
  • Docker通過類似Git理念來方便用戶獲取、分發更新鏡像
  • Docker通過dockerfile實現靈活的創建、部署機制

  虛擬機和Docker本質的區別在於虛擬化的方式不同,虛擬機是一種硬件級別的虛擬化,通過軟件去模擬硬件系統,並且虛擬機裏需要虛擬OS Kernel。Docker是一種容器,是一種隔離機制,是軟件級別的模擬。

技術分享圖片

第1章 初始Docker容器