1. 程式人生 > >Docker入門學習

Docker入門學習

1.什麼是虛擬化?

2.什麼是Docker?

Docker是一種虛擬化技術,起初是dotcloud公司的業餘技術,目標是實現輕量級的作業系統,區別是傳統虛擬機器可以虛擬各種東西,但是docker虛擬化的系統只能是linux,並且docker實現的基礎是linux(LXC),這是docker的缺點,但是這並不影響我們使用docker

開發中,環境的移植往往是運維人員最頭疼的地方,由於環境的差異,可能會導致 開發人員測試通過,測試人員不通過,開發測試都通過,運維不通過登系列問題,遇到這種問題的時候就可以使用docker, 開發人員把環境匯入docker中,測試人員可以從docker輕易匯出環境,這樣一來就可以輕易讓docker環境一致,

可能有人會問,容器的技術那麼多,為什麼要選擇docker?

  1. 上手快:只要將程式docker化一下就行,並沒有太多複雜的步驟
  2. 職責的邏輯分類: 可以輕易的部署環境,不會出現開發沒問題,部署的時候出現bug的問題
  3. 快速的開發生命週期: 如果沒有使用docker,搭建環境需要大量的時間,但是使用docker可能只需要通過一條命令,讓程式具有移植性,易於架構
  4. 鼓勵使用面向服務架構,和微服務架構,因為只需要docker一下程式,就可以輕易部署到別的伺服器,

 

 

 

上圖是傳統虛擬機器跟docker的區別,可以看出,傳統虛擬機器內嵌了一個作業系統,內嵌作業系統跟本地系統沒有任何關係,而docker是沒有操作的系統的,docker內部是通過docker來呼叫本地作業系統的一些服務,從而實現功能的,先比之下, 傳統系統更靈活,但是需要佔用更多的資源,但是docker沒有作業系統 ,所以使用的佔用體積會更小,啟動的話因為docker沒有構建系統,用的是本地系統,所以速度相對於比傳統型服務更快.

 

 

3.docker的結構

守護程序,其實就是docker服務端,其實就是管理docker容器的,docker容器我們後面將,docker客戶端就是用來連線服務端,傳送命令來實行操作,

 

2.docker映象與容器:

映象可以理解為 一組執行容器的集合,映象就像一個模板,我們比作mysql模板,我們可以通過一個mysql模板生成三個mysql,但是docker 跟傳統的虛擬機器不太一樣,傳統的虛擬機器映象就是一個檔案,如下圖,傳統虛擬機器可以根據映象來執行,這樣的話就沒有容器這這概念了,一個映象就是一個作業系統,映象跟容器就可以比作 類跟物件的區別

 

3.註冊中心