安裝 Docker Compose
Docker Compose 通常包含在 Docker Desktop 中,或可以單獨安裝。以下是在 Linux 環境中安裝 Docker Compose CLI 插件的方法。
在 Linux 上安裝 Docker Compose CLI 插件
透過下載並授予執行權限來安裝最新的 Docker Compose CLI 插件。如果您不使用 Docker Desktop,請使用此方法安裝 Docker Compose。
下載並安裝 Docker Compose 插件
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
下載最新版本的 Docker Compose CLI 插件,授予執行權限,並將其放在適當的路徑中。
檢查 Docker Compose 版本
docker compose version
驗證 Docker Compose 版本以確認安裝完成。
主要 Docker Compose 命令
Docker Compose 用於管理 `docker-compose.yml` 檔案中定義的服務。使用以下選項可以輕鬆控制多容器應用程式。
1. 建立和執行應用程式
2. 停止和刪除應用程式
3. 管理服務
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`docker compose` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
`docker-compose.yml` 檔案結構
Docker Compose 使用 `docker-compose.yml` 檔案來定義服務、網路、卷等。此檔案以 YAML 格式編寫,清晰地表示應用程式的元件及其關係。
基本結構
`docker-compose.yml` 檔案具有頂層鍵,如 `version`(版本)、`services`(服務定義)、`networks`(網路定義)和 `volumes`(卷定義)。最重要的部分是 `services` 部分,它定義了構成應用程式的每個容器。
簡單的 Web 應用程式範例
version: '3.8'
services:
web:
image: nginx:latest
ports:
- '80:80'
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- api
api:
build: .
ports:
- '3000:3000'
environment:
NODE_ENV: production
volumes:
data_volume:
一個簡單的 `docker-compose.yml` 範例,由 Nginx Web 伺服器和 Node.js 後端服務組成。
鍵說明
對 `docker-compose.yml` 檔案中常用的關鍵設定的說明。
- version: 指定 Compose 檔案格式版本。建議使用最新版本(例如,'3.8')。
- services: 此部分定義構成應用程式的每個容器服務。
- image: 指定用於服務的 Docker 映像名稱。(例如,`nginx:latest`)
- build: 指定用於建立映像的 Dockerfile 的路徑。(例如,`.`)
- ports: 定義主機和容器之間的埠映射。(例如,`- '80:80'`)
- volumes: 定義用於資料持久化的卷掛載。(例如,`- ./data:/app/data`)
- environment: 定義要在容器內部設定的環境變數。
- depends_on: 定義服務之間的依賴關係。(例如,當 `db` 服務必須在 `web` 服務之前啟動時)
- networks: 定義服務將連接到的網路。
使用範例
透過 Docker Compose 命令的實際使用範例,了解如何有效地管理多容器應用程式。
啟動 Docker Compose 專案(在背景)
docker compose up -d
讀取當前目錄中的 `docker-compose.yml` 檔案,並在背景啟動所有服務。
重新啟動特定服務
docker compose restart web
僅重新啟動 `docker-compose.yml` 中定義的 'web' 服務。
即時查看日誌
docker compose logs -f
將所有服務的日誌即時串流到終端,以監控應用程式的行為。
停止應用程式並移除相關資源
docker compose down -v
停止並移除所有正在運行的服務容器,並同時移除已定義的網路和匿名卷。
指定 Docker Compose 檔案路徑
docker compose -f /path/to/my-app/docker-compose.prod.yml up -d
運行一個具有不同名稱或位於不同路徑的 Compose 檔案,而不是預設的 `docker-compose.yml`。