Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可實現虛擬化和云計算等場景。
┌────────────────────────────────────────────────┐ │┌────────┐ ┌────────┐ ┌────────┐ │ ││ image │<── │ Docker │<───│ Docker │ │ ││ │ └────────┘ │ Hub │ │ │└────────┘ │ │ │ │ └────────┘ │ ├─────────┐ │ │ │ │ │ Host │ │ │ │ │ └─────────┘ │
Docker 主要由 Docker Engine、Docker Hub、Docker Client 等組件組成。
Docker Engine 是 Docker 的核心組件,它是一個輕量級的容器化運行時,提供了容器的管理、應用的部署以及應用的運行能力。Docker Engine 同時也提供了一組 API,方便程序員進行調用和擴展。
Docker Hub 是一個在線的注冊和存儲服務,開發者可以在 Docker Hub 上發布和分享他們的 Docker Image。實現了類似于托管代碼庫的功能,可以方便的從 Docker Hub 上拉取Image。
Docker Client 則是運作在用戶主機上的命令行客戶端,可以通過 Docker Engine 的 API 與 Docker 進行交互。