Docker入門學習
1.什麼是虛擬化?
2.什麼是Docker?
Docker是一種虛擬化技術,起初是dotcloud公司的業餘技術,目標是實現輕量級的作業系統,區別是傳統虛擬機器可以虛擬各種東西,但是docker虛擬化的系統只能是linux,並且docker實現的基礎是linux(LXC),這是docker的缺點,但是這並不影響我們使用docker
開發中,環境的移植往往是運維人員最頭疼的地方,由於環境的差異,可能會導致 開發人員測試通過,測試人員不通過,開發測試都通過,運維不通過登系列問題,遇到這種問題的時候就可以使用docker, 開發人員把環境匯入docker中,測試人員可以從docker輕易匯出環境,這樣一來就可以輕易讓docker環境一致,
可能有人會問,容器的技術那麼多,為什麼要選擇docker?
- 上手快:只要將程式docker化一下就行,並沒有太多複雜的步驟
- 職責的邏輯分類: 可以輕易的部署環境,不會出現開發沒問題,部署的時候出現bug的問題
- 快速的開發生命週期: 如果沒有使用docker,搭建環境需要大量的時間,但是使用docker可能只需要通過一條命令,讓程式具有移植性,易於架構
- 鼓勵使用面向服務架構,和微服務架構,因為只需要docker一下程式,就可以輕易部署到別的伺服器,
上圖是傳統虛擬機器跟docker的區別,可以看出,傳統虛擬機器內嵌了一個作業系統,內嵌作業系統跟本地系統沒有任何關係,而docker是沒有操作的系統的,docker內部是通過docker來呼叫本地作業系統的一些服務,從而實現功能的,先比之下, 傳統系統更靈活,但是需要佔用更多的資源,但是docker沒有作業系統 ,所以使用的佔用體積會更小,啟動的話因為docker沒有構建系統,用的是本地系統,所以速度相對於比傳統型服務更快.
3.docker的結構
守護程序,其實就是docker服務端,其實就是管理docker容器的,docker容器我們後面將,docker客戶端就是用來連線服務端,傳送命令來實行操作,
2.docker映象與容器:
映象可以理解為 一組執行容器的集合,映象就像一個模板,我們比作mysql模板,我們可以通過一個mysql模板生成三個mysql,但是docker 跟傳統的虛擬機器不太一樣,傳統的虛擬機器映象就是一個檔案,如下圖,傳統虛擬機器可以根據映象來執行,這樣的話就沒有容器這這概念了,一個映象就是一個作業系統,映象跟容器就可以比作 類跟物件的區別
3.註冊中心