最近開始自學docker,決定把本身的學習進度分享給你們,天天一篇但願能幫助docker的初學者。你們積極留言哦,輸出決定輸入!預計20次完成docker的講解。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容器虛擬化的優勢測試
環境隔離;spa
經過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 提供的一個依賴的環境,是一個刪減版本的系統鏡像。通常狀況下系統虛擬化沒有容器虛擬化的運行效率高,可是系統安全性高不少。
優越性:
你在一臺機器能夠開10個虛擬機,若是用docker能夠開100個容器,就是這麼霸氣
4.docker官網註冊
註冊一個docker帳號:https://hub.docker.com/
完成註冊,我用的qq郵箱,等了10分鐘才收到
收到後激活郵箱,進行登陸
登陸完畢