史上最全、最詳細的Docker學習資料

民工哥技術之路發表於2018-11-08

史上最全、最詳細的Docker學習資料

一、Docker 簡介

Docker 兩個主要部件:

Docker: 開源的容器虛擬化平臺

  • Docker Hub: 用於分享、管理 Docker 容器的 Docker SaaS 平臺 -- Docker Hub

  • Docker 使用客戶端-伺服器 (C/S) 架構模式。Docker 客戶端會與 Docker 守護程式進行通訊。Docker 守護程式會處理複雜繁重的任務,例如建立、執行、釋出你的 Docker 容器。Docker 客戶端和守護程式可以執行在同一個系統上,當然你也可以使用 Docker 客戶端去連線一個遠端的 Docker 守護程式。Docker 客戶端和守護程式之間通過 socket 或者 RESTful API 進行通訊。

Docker 守護程式

如上圖所示,Docker 守護程式執行在一臺主機上。使用者並不直接和守護程式進行互動,而是通過 Docker 客戶端間接和其通訊。

Docker 客戶端

Docker 客戶端,實際上是 docker 的二進位制程式,是主要的使用者與 Docker 互動方式。它接收使用者指令並且與背後的 Docker 守護程式通訊,如此來回往復。

Docker 內部

要理解 Docker 內部構建,需要理解以下三種部件:

  • Docker 映象 - Docker images

  • Docker 倉庫 - Docker registeries

  • Docker 容器 - Docker containers

Docker 映象

Docker 映象是 Docker 容器執行時的只讀模板,每一個映象由一系列的層 (layers) 組成。Docker 使用 UnionFS 來將這些層聯合到單獨的映象中。UnionFS 允許獨立檔案系統中的檔案和資料夾(稱之為分支)被透明覆蓋,形成一個單獨連貫的檔案系統。正因為有了這些層的存在,Docker 是如此的輕量。當你改變了一個 Docker 映象,比如升級到某個程式到新的版本,一個新的層會被建立。因此,不用替換整個原先的映象或者重新建立(在使用虛擬機器的時候你可能會這麼做),只是一個新 的層被新增或升級了。現在你不用重新發布整個映象,只需要升級,層使得分發 Docker 映象變得簡單和快速。

Docker 倉庫

Docker 倉庫用來儲存映象,可以理解為程式碼控制中的程式碼倉庫。同樣的,Docker 倉庫也有公有和私有的概念。公有的 Docker 倉庫名字是 Docker Hub。Docker Hub 提供了龐大的映象集合供使用。這些映象可以是自己建立,或者在別人的映象基礎上建立。Docker 倉庫是 Docker 的分發部分。

Docker 容器

Docker 容器和資料夾很類似,一個Docker容器包含了所有的某個應用執行所需要的環境。每一個 Docker 容器都是從 Docker 映象建立的。Docker 容器可以執行、開始、停止、移動和刪除。每一個 Docker 容器都是獨立和安全的應用平臺,Docker 容器是 Docker 的執行部分。

二:Docker使用場景介紹

Docker,你到底知道多少?

三:Docker生態介紹

Docker 生態概覽

四:Docker安裝

Docker容器技術入門(一)

五:Docker網路與磁碟

【容器技術】Docker容器技術入門(二)

六:Docker命令大全

這20個Docker Command,有幾個是你會的?

七:Docker容器技術之Docker file

Docker容器技術之Docker file

八:Docker容器技術之Docker-machine

容器技術|Docker三劍客之docker-machine

九:Docker容器技術之Docker-compose

容器技術|Docker三劍客之Compose

十:Docker容器技術之Docker-swarm

容器技術|Docker三劍客之docker-swarm

十一:Docker-register構建私有映象倉庫

使用docker Registry快速搭建私有映象倉庫(內附乾貨)

十二:打造高逼格Docker容器監控平臺

打造高逼格、視覺化的Docker容器監控系統平臺

十三:Jenkins與Docker的自動化CI/CD實戰

Jenkins與Docker的自動化CI/CD實戰

史上最全、最詳細的Docker學習資料


相關文章