1. 程式人生 > >Docker簡介與安裝(一)

Docker簡介與安裝(一)

TP width Go src apache container 資源利用率 代碼托管 docker

Docker簡介

Docker 是 Docker.Inc 公司開源的一個基於 LXC技術之上構建的Container容器引擎, 源代碼托管在 GitHub 上, 基於Go語言並遵從Apache2.0協議開源。

Docker是通過內核虛擬化技術(namespaces及cgroups等)來提供容器的資源隔離與安全保障等。由於Docker通過操作系統層的虛擬化實現隔離,所以Docker容器在運行時,不需要類似虛擬機(VM)額外的操作系統開銷,提高資源利用率。

三大理念:Build(構建)、Ship(運輸)、Run(運行)

Docker組成:Docker Client、Docker Server

Docker組件:Image(鏡像)、Container(容器)、Repository(倉庫)

  • 鏡像介紹:類似於虛擬機,作用和虛擬機是一樣的,唯獨是組成部分會有些區別。簡單的說如果我們想啟動一個容器就必須要有鏡像。
  • 容器介紹: docker是通過容器來運行業務的,就像運行一個kvm虛擬機是一樣的。容器其實就是從鏡像創建的一個實例。我們可以對容器進行增刪改查,容器之間也是相互隔離的。和虛擬機最大的區別就是一個是虛擬的一個是隔離的。 缺點:不會像虛擬機那樣隔離的那麽徹底,我們可以將容器理解為簡化版的linux,有進程運行在裏面。
  • 倉庫介紹: 根據docker的三大理念構建 運輸 運行,我們就需要一個倉庫來存放鏡像 。簡單的說:我們將鏡像創建完成就需要存放到倉庫裏面,進行集中式的管理。倉庫這點類似於github,docker也有一個dockerhub,他也是一個公共對外的倉庫。

官網: https://www.docker.com/

虛擬機和docker的區別

技術分享圖片

技術分享圖片

簡單解釋,VMware運行在操作系統上,而docker是直接運行在應用上。所以docker無法提供一個像VMware那樣完全的隔離,甚至到很多地方都沒有進行隔離,比如說用戶空間。

Docker簡介與安裝(一)