首頁 > 其他外部套件 > docker compose

Docker Compose 命令指南

Docker Compose 是一種用於定義和運行多容器 Docker 應用程式的工具。您可以使用 YAML 檔案來配置應用程式的服務,並透過單一命令啟動所有服務。這使得管理複雜的應用程式環境變得容易。

安裝 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`。


相同類別命令