Docker 是一個開源工具,可以通過將應用程序及其所有依賴項打包在一個可移植的容器中,使應用程序在任何地方快速、可靠地部署。Docker 提供了一種簡單易用的部署應用程序的方式。
Docker 核心組件主要有三個:Docker Engine、Docker Hub、Docker Compose。
Docker Engine 是負責運行容器的引擎。它包括:Docker 服務器、Docker 客戶端、Docker REST API 和 Docker CLI 工具。Docker 服務器是 Docker Engine 的守護進程,負責管理容器、鏡像、網絡等。Docker 客戶端是一個命令行工具,用于與 Docker 服務器進行通信。Docker REST API 支持通過 HTTP 調用 Docker 引擎 API。Docker CLI 工具是一組命令行程序,用于創建、運行、管理和維護 Docker 容器。
Docker Hub 是 Docker 的公共注冊表,提供了一個中央位置,讓用戶可以查找、下載和上傳 Docker 鏡像。Docker Hub 中包含了來自全球用戶的數千個官方和社區鏡像,涵蓋了常用的軟件語言、框架和工具。
Docker Compose 是一個用于定義和運行多容器 Docker 應用程序的工具。通過 Compose 文件,用戶可以定義各個容器之間的關系,并通過簡單的命令來啟動、停止和刪除該應用程序。
version: '3'
services:
frontend:
build: .
ports:
- "80:80"
depends_on:
- backend
backend:
image: express_backend:latest
environment:
- DATABASE_URL=postgres://username:password@db:5432/dbname
db:
image: postgres:latest
上述 Compose 文件定義了一個由三個服務組成的應用程序。其中,frontend 和 backend 分別是前端和后端服務,db 是數據庫服務。通過 depends_on 關鍵字,前端服務可以依賴后端服務的啟動。而數據庫服務則在后端服務中進行配置。