跟我一起學docker(一)--認識

IT人故事會發表於2018-07-21
跟我一起學docker(一)--認識

最近開始自學docker,決定把自己的學習進度分享給大家,每天一篇希望能幫助docker的初學者。大家積極留言哦,輸出決定輸入!預計20次完成docker的講解。

1.什麼是docker

Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘專案。它基於 Google 公司推出的 Go 語言實現。 專案後來加入了 Linux 基金會,遵從了 Apache 2.0 協議,專案程式碼在 GitHub 上進行維護。

Docker 自開源後受到廣泛的關注和討論,以至於dotCloud 公司後來都改名為 Docker Inc。Redhat已經在其 RHEL6.5 中集中支援 Docker;Google 也在其 PaaS 產品中廣泛應用。

Docker的主要目標:

通過對應用元件的封裝、分發、部署、執行等生命週期的管理,達到應用級別的一次封裝,到處執行。

小貼士:這裡的應用元件,可以是WEB應用,也可以是一套資料庫服務,甚至可以是一個作業系統編譯器。

2.為什麼使用docker

Docker容器虛擬化的優點

環境隔離;

通過cgroups和namesapce進行實現資源隔離,實現一臺機器執行多個容器互不影響。

更快速的交付部署;

使用docker,開發人員可以利用映象快速構建一套標準的研發環境;開發完成後,測試和運維人員可以直接通過使用相同的環境來部署程式碼。Docker可以快速建立和刪除容器,實現快速迭代,大量節約開發、測試、部署的時間。並且,各個步驟都有明確的配置和操作,整個過程全程公司內文件說明,使團隊更容易理解應用建立和工作的過程。

更高效的資源利用;

docker容器的執行不需要額外的虛擬化管理程式的支援,它是核心級的虛擬化,可以實現更高的效能,同時對資源的額外需求很低。

更易遷移擴充套件;

docker容器幾乎可以在任意的平臺上執行,包括烏力吉、虛擬機器、公有云、私有云、個人電腦、伺服器等,這種相容性讓使用者可以在不同平臺之間輕鬆的遷移應用。

更簡單的更新管理。

使用Dockerfile,只需要小小的配置修改,就可以替代以往的大量的更新工作。並且所有修改都是以增量的方式進行分發和更新,從而實現自動化和高效的容器管理。

3.虛擬化與docker

虛擬化定義:虛擬化是一種資源管理技術,是將計算機的各種實體資源,如伺服器、網路、記憶體及儲存等,予以抽象、轉換後呈現出來,打破實體結構間的不可切割的障礙,使使用者可以比原本的配置更好的方式來應用這些資源。這些資源的新虛擬部分是不受現有資源的架設方式,地域或物理配置所限制。一般所指的虛擬化資源包括計算能力和資料儲存。

系統虛擬化,Hypervisor Virtualization,全虛擬化。在 Host 中通過 Hypervisor 層實現安裝多個 GuestOS,每個 GuestOS 都有自己的核心,和主機的核心不同,GuestOS 之間完全隔離。

容器虛擬化,Operating System Virtualization ,使用 Linux 核心中的 namespaces 和 cgroups 實現程式組之間的隔離。是用核心技術實現的隔離,所以它是一個共享核心的虛擬化技術。

容器虛擬化沒有 GuestOS,使用 Docker 時下載的映象,只是為執行 App 提供的一個依賴的環境,是一個刪減版本的系統映象。一般情況下系統虛擬化沒有容器虛擬化的執行效率高,但是系統安全性高很多。

跟我一起學docker(一)--認識

優越性:

你在一臺機器可以開10個虛擬機器,如果用docker可以開100個容器,就是這麼霸氣

4.docker官網註冊

註冊一個docker賬號:https://hub.docker.com/

跟我一起學docker(一)--認識

完成註冊,我用的qq郵箱,等了10分鐘才收到

跟我一起學docker(一)--認識

收到後啟用郵箱,進行登入

跟我一起學docker(一)--認識

登入完畢

跟我一起學docker(一)--認識


相關文章