一、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 file
八:Docker容器技術之Docker-machine
九:Docker容器技術之Docker-compose
十:Docker容器技術之Docker-swarm
十一:Docker-register構建私有映象倉庫
使用docker Registry快速搭建私有映象倉庫(內附乾貨)