安裝 docker compose v2版 筆記250731

安裝 docker compose v2版 筆記250731

簡述

v2版是插件形式

確認系統要求, 已安裝 Docker Engine(版本 20.10.5 或更高)

安裝方式可分為

  • apt 或 yum 安裝 (能自動升級)

    • apt install docker-compose-plugin
    • yum install docker-compose-plugin
  • 手動二進制文件安裝 (需手動升級): 下載二進制文件放入特定的 docker/cli-plugins 文件夾中

    • 下載頁面: https://github.com/docker/compose/releases
    • 用戶級安裝放入用戶文件夾中的
      • $HOME/.docker/cli-plugins = ~/.docker/cli-plugins/root/.docker/cli-plugins
    • 系統級安裝放入系統文件夾中, 以下選其一
      • /usr/local/lib/docker/cli-plugins
      • /usr/local/libexec/docker/cli-plugins
      • /usr/lib/docker/cli-plugins
      • /usr/libexec/docker/cli-plugins


通過手動安裝二進制文件的方式

下載頁面: https://github.com/docker/compose/releases

用戶級手動安裝二進制文件

  1. 創建 Docker CLI 插件目錄(如果不存在):

    mkdir -p ~/.docker/cli-plugins/
    
  2. 下載 Docker Compose 二進制文件

    # 適用于 x86_64 系統
    curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose# 適用于 ARM64 系統(如樹莓派)
    # curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-aarch64 -o ~/.docker/cli-plugins/docker-compose
    
  3. 授予執行權限

    chmod +x ~/.docker/cli-plugins/docker-compose
    
  4. 驗證安裝

    docker compose version
    

合成一步

# 1. 創建插件目錄
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins# 2. 下載最新版二進制文件(替換版本號)
# 查看最新版本:https://github.com/docker/compose/releases
COMPOSE_VERSION=v2.39.1  # 替換為最新版本
ARCH=$(uname -m)         # 自動檢測架構curl -SL "https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-linux-$ARCH" \-o $DOCKER_CONFIG/cli-plugins/docker-compose# 3. 賦予執行權限
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose# 4. 驗證安裝
docker compose version

安裝最新版

# 創建插件目錄
mkdir -p ~/.docker/cli-plugins# 下載最新版 V2 二進制文件
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o ~/.docker/cli-plugins/docker-compose# 添加執行權限
chmod +x ~/.docker/cli-plugins/docker-compose# 驗證安裝
docker compose version



系統級手動安裝二進制文件

# 1. 創建插件目錄
DOCKER_COMPOSE_FolderPath='/usr/local/lib/docker/cli-plugins'
#DOCKER_COMPOSE_FolderPath='/usr/local/libexec/docker/cli-plugins'
#DOCKER_COMPOSE_FolderPath='/usr/lib/docker/cli-plugins'
#DOCKER_COMPOSE_FolderPath='/usr/libexec/docker/cli-plugins'
mkdir -p $DOCKER_COMPOSE_FolderPath# 2. 下載最新版二進制文件(替換版本號)
# 查看最新版本:https://github.com/docker/compose/releases
COMPOSE_VERSION=v2.39.1  # 替換為最新版本
ARCH=$(uname -m)         # 自動檢測架構curl -SL "https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-linux-$ARCH" \-o $DOCKER_COMPOSE_FolderPath/docker-compose# 3. 賦予執行權限
chmod +x $DOCKER_COMPOSE_FolderPath/docker-compose# 4. 驗證安裝
docker compose version

安裝最新版

# 創建插件目錄 以下四選一
mkdir -p '/usr/local/lib/docker/cli-plugins' && cd $_
#mkdir -p '/usr/local/libexec/docker/cli-plugins' && cd $_
#mkdir -p '/usr/lib/docker/cli-plugins' && cd $_
#mkdir -p '/usr/libexec/docker/cli-plugins' && cd $_# 下載最新版 V2 二進制文件
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o docker-compose# 添加執行權限
chmod +x docker-compose# 驗證安裝
docker compose version













通過 Docker 官方倉庫安裝(apt , dnf , yum)

# Ubuntu/Debian 系統
sudo apt-get update
sudo apt-get install docker-compose-plugin# CentOS/RHEL/Fedora 系統
sudo yum update
sudo yum install docker-compose-plugin

通過 Docker 官方倉庫安裝(適用于 Debian/Ubuntu)

  1. 添加 Docker 倉庫(如果已安裝 Docker Engine,可跳過):

    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  2. 安裝 Docker Compose 插件

    sudo apt-get update
    sudo apt-get install docker-compose-plugin
    
  3. 驗證安裝

    docker compose version
    

卸載舊版 docker-compose(可選)

如果已安裝舊版(Python 編寫的 docker-compose v1),建議卸載以避免沖突:

# 卸載通過 Pip 安裝的舊版
sudo pip uninstall docker-compose# 或卸載通過 apt 安裝的舊版
sudo apt remove docker-compose

使用 Docker Compose v2

  • 新命令格式(注意空格):
    docker compose [COMMAND]  # 如 docker compose up
    
  • 兼容原有 docker-compose.yml 文件。

常見問題

  1. 權限錯誤:確保當前用戶屬于 docker 用戶組:

    sudo usermod -aG docker $USER
    newgrp docker  # 刷新組權限
    
  2. 命令未找到

    • 檢查 ~/.docker/cli-plugins/ 目錄是否存在且包含 docker-compose 文件。
    • 確保已正確設置執行權限(chmod +x)。
  3. 版本沖突:徹底卸載舊版 docker-compose

參考文檔:Docker Compose GitHub Releases

















1?? 參考 1 翻譯官方文檔: Install the Docker Compose plugin 安裝 docker compose 插件

Install the Docker Compose plugin 原文

Install the Docker Compose plugin

This page contains instructions on how to install the Docker Compose plugin on Linux from the command line.

To install the Docker Compose plugin on Linux, you can either:

  • Set up Docker’s repository on your Linux system.
  • Install manually.

[!NOTE]

These instructions assume you already have Docker Engine and Docker CLI installed and now want to install the Docker Compose plugin.

Install using the repository

  1. Set up the repository. Find distribution-specific instructions in:

    Ubuntu |
    CentOS |
    Debian |
    Raspberry Pi OS |
    Fedora |
    RHEL |
    SLES.

  2. Update the package index, and install the latest version of Docker Compose:

    • For Ubuntu and Debian, run:

      $ sudo apt-get update
      $ sudo apt-get install docker-compose-plugin
      
    • For RPM-based distributions, run:

      $ sudo yum update
      $ sudo yum install docker-compose-plugin
      
  3. Verify that Docker Compose is installed correctly by checking the version.

    $ docker compose version
    

???? Update Docker Compose

To update the Docker Compose plugin, run the following commands:

  • For Ubuntu and Debian, run:

    $ sudo apt-get update
    $ sudo apt-get install docker-compose-plugin
    
  • For RPM-based distributions, run:

    $ sudo yum update
    $ sudo yum install docker-compose-plugin
    

Install the plugin manually

[!WARNING]

Manual installations don’t auto-update. For ease of maintenance, use the Docker repository method.

  1. To download and install the Docker Compose CLI plugin, run:

    $ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    $ mkdir -p $DOCKER_CONFIG/cli-plugins
    $ curl -SL https://github.com/docker/compose/releases/download/{{% param "compose_version" %}}/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
    

    This command downloads and installs the latest release of Docker Compose for the active user under $HOME directory.

    To install:

    • Docker Compose for all users on your system, replace ~/.docker/cli-plugins with /usr/local/lib/docker/cli-plugins.
    • A different version of Compose, substitute {{% param "compose_version" %}} with the version of Compose you want to use.
    • For a different architecture, substitute x86_64 with the architecture you want.
  2. Apply executable permissions to the binary:

    $ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
    

    or, if you chose to install Compose for all users:

    $ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
    
  3. Test the installation.

    $ docker compose version
    

What’s next?

  • Understand how Compose works
  • Try the Quickstart guide

















Install the Docker Compose plugin 翻譯1

Docker Compose 插件安裝指南
本文檔提供 Linux 系統命令行安裝 Docker Compose 插件的完整指引。

[!注意]
本指南默認您已安裝 Docker Engine 和 Docker CLI,現需補充安裝 Docker Compose 插件。


一、通過軟件倉庫安裝(推薦)
???? 1. 配置 Docker 軟件倉庫
根據發行版選擇對應指南:

  • Ubuntu
  • CentOS
  • Debian
  • 樹莓派系統
  • Fedora
  • RHEL
  • SLES

???? 2. 安裝最新版 Docker Compose
Ubuntu/Debian 系統:

sudo apt-get update  
sudo apt-get install docker-compose-plugin  

基于 RPM 的系統(CentOS/RHEL/Fedora):

sudo yum update  
sudo yum install docker-compose-plugin  

???? 3. 驗證安裝

docker compose version  

???? 4. 升級方法
重復執行對應系統的安裝命令即可升級至最新版本:

# Ubuntu/Debian  
sudo apt-get update && sudo apt-get install docker-compose-plugin  # RPM 系統  
sudo yum update && sudo yum install docker-compose-plugin  

二、手動安裝插件

[!警告]
手動安裝無法自動更新!建議優先使用倉庫安裝方式以簡化維護。

???? 1. 下載并安裝插件

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}  
mkdir -p $DOCKER_CONFIG/cli-plugins  
curl -SL https://github.com/docker/compose/releases/download/v2.39.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose  

自定義選項:

場景操作方式
為所有用戶安裝~/.docker/cli-plugins 替換為 /usr/local/lib/docker/cli-plugins
安裝特定版本將鏈接中的 v2.39.1 替換為目標版本號
其他 CPU 架構x86_64 改為目標架構(如 aarch64

???? 2. 添加執行權限
當前用戶安裝:

chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose  

系統級安裝:

sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose  

???? 3. 驗證安裝

docker compose version  

? 輸出示例:Docker Compose version v2.39.1


后續步驟

  • 理解 Compose 工作原理
  • 快速入門指南

關鍵說明:

  1. 倉庫安裝自動處理依賴和更新
  2. 手動安裝需定期檢查 GitHub 發布頁 獲取更新
  3. 使用 docker compose(V2 新版命令)而非舊版 docker-compose

















Install the Docker Compose plugin 翻譯2

安裝 Docker Compose 插件

本文檔提供在 Linux 命令行環境下安裝 Docker Compose 插件的詳細指南。

安裝方式選擇:

  • 通過軟件倉庫安裝
  • 手動安裝

[!注意]

本指南假設您已安裝 Docker Engine 和 Docker CLI,現在僅需安裝 Docker Compose 插件。


通過軟件倉庫安裝

  1. 設置軟件倉庫
    各發行版配置指南:
    Ubuntu |
    CentOS |
    Debian |
    樹莓派 OS |
    Fedora |
    RHEL |
    SLES

  2. 安裝最新版本

    • Ubuntu/Debian 系統:
      $ sudo apt-get update
      $ sudo apt-get install docker-compose-plugin
      
    • RPM 系發行版(CentOS/RHEL/Fedora):
      $ sudo yum update
      $ sudo yum install docker-compose-plugin
      
  3. 驗證安裝

    $ docker compose version
    

???? 更新 Docker Compose
執行對應系統的安裝命令即可更新:

  • Ubuntu/Debian:
    $ sudo apt-get update
    $ sudo apt-get install docker-compose-plugin
    
  • RPM 系發行版:
    $ sudo yum update
    $ sudo yum install docker-compose-plugin
    

手動安裝

[!警告]

手動安裝不支持自動更新。為便于維護,建議使用軟件倉庫安裝方式。

  1. 下載并安裝插件

    $ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    $ mkdir -p $DOCKER_CONFIG/cli-plugins
    $ curl -SL https://github.com/docker/compose/releases/download/{{% param "compose_version" %}}/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
    
    • 全局安裝:將 ~/.docker/cli-plugins 替換為 /usr/local/lib/docker/cli-plugins
    • 指定版本:替換 {{% param "compose_version" %}} 為目標版本號
    • 其他架構:替換 x86_64 為 目標架構
  2. 授予執行權限

    • 當前用戶安裝:
      $ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
      
    • 全局安裝:
      $ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
      
  3. 驗證安裝

    $ docker compose version
    

后續步驟

  • 理解 Compose 工作原理
  • 快速入門指南

術語對照表

英文術語中文翻譯
CLI pluginCLI 插件
RPM-based distributionsRPM 系發行版
active user當前用戶
executable permissions執行權限
maintainability可維護性

















Install the Docker Compose plugin 翻譯3

以下是對 Docker Compose 插件安裝指南的專業中文翻譯:


安裝 Docker Compose 插件

本文檔介紹如何在 Linux 命令行環境中安裝 Docker Compose 插件。

在 Linux 上安裝 Docker Compose 插件有兩種方式:

  • 通過軟件倉庫安裝
  • 手動安裝

[!注意]
本指南假定您已安裝 Docker Engine 和 Docker CLI,現在需要安裝 Docker Compose 插件。

通過軟件倉庫安裝

  1. 設置軟件倉庫
    查看發行版專屬安裝指南:

    • Ubuntu
    • CentOS
    • Debian
    • Raspberry Pi OS
    • Fedora
    • RHEL
    • SLES
  2. 安裝最新版 Docker Compose

    • Ubuntu/Debian 系統:
      $ sudo apt-get update
      $ sudo apt-get install docker-compose-plugin
      
    • 基于 RPM 的發行版:
      $ sudo yum update
      $ sudo yum install docker-compose-plugin
      
  3. 驗證安裝

    $ docker compose version
    

???? 更新 Docker Compose
執行對應發行版的安裝命令即可更新:

  • Ubuntu/Debian:
    $ sudo apt-get update
    $ sudo apt-get install docker-compose-plugin
    
  • 基于 RPM 的發行版:
    $ sudo yum update
    $ sudo yum install docker-compose-plugin
    

手動安裝插件

[!警告]
手動安裝不會自動更新。為便于維護,建議使用軟件倉庫安裝方式。

  1. 下載并安裝插件

    $ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    $ mkdir -p $DOCKER_CONFIG/cli-plugins
    $ curl -SL https://github.com/docker/compose/releases/download/{{% param "compose_version" %}}/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
    
    • 系統級安裝:將 ~/.docker/cli-plugins 替換為 /usr/local/lib/docker/cli-plugins
    • 指定版本:替換 URL 中的 {{% param "compose_version" %}}
    • 其他架構:將 x86_64 替換為目標架構(查看架構支持)
  2. 賦予執行權限

    • 當前用戶安裝:
      $ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
      
    • 系統級安裝:
      $ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
      
  3. 驗證安裝

    $ docker compose version
    

后續步驟

  • 理解 Compose 工作原理
  • 嘗試快速入門指南

關鍵術語說明:

  1. CLI 插件:Docker Compose V2 作為 Docker 命令行的擴展插件運行
  2. 軟件倉庫安裝:官方推薦的自動更新方案
  3. DOCKER_CONFIG 變量:定義 Docker 配置路徑,默認為 $HOME/.docker
  4. 架構標識:需根據處理器類型選擇正確版本(x86_64/arm64等)
  5. 占位符 {{% param "compose_version" %}}:實際使用時需替換為具體版本號(如 v2.24.5)

















2?? 參考 2 翻譯官方文檔 Install using the repository 用倉庫安裝

Install using the repository 原文

Install using the repository

  1. Set up the repository. Find distribution-specific instructions in:

    Ubuntu |
    CentOS |
    Debian |
    Raspberry Pi OS |
    Fedora |
    RHEL |
    SLES.

  2. Update the package index, and install the latest version of Docker Compose:

    • For Ubuntu and Debian, run:

      $ sudo apt-get update
      $ sudo apt-get install docker-compose-plugin
      
    • For RPM-based distributions, run:

      $ sudo yum update
      $ sudo yum install docker-compose-plugin
      
  3. Verify that Docker Compose is installed correctly by checking the version.

    $ docker compose version
    













Install using the repository 翻譯

???? 通過軟件倉庫安裝 Docker Compose(官方推薦方式)

???????? 1. 設置軟件倉庫
根據您的 Linux 發行版選擇對應的設置指南:

  • Ubuntu |
  • CentOS |
  • Debian |
  • Raspberry Pi OS |
  • Fedora |
  • RHEL |
  • SLES

???????? 2. 安裝最新版 Docker Compose
更新軟件包索引并安裝 Docker Compose 插件:

Ubuntu/Debian 系統:

sudo apt-get update
sudo apt-get install docker-compose-plugin

基于 RPM 的系統 (CentOS/RHEL/Fedora):

sudo yum update
sudo yum install docker-compose-plugin

???????? 3. 驗證安裝
檢查 Docker Compose 版本確認安裝成功:

docker compose version

???? 更新 Docker Compose
保持最新版本的升級方法:

Ubuntu/Debian 系統:

sudo apt-get update
sudo apt-get install docker-compose-plugin

基于 RPM 的系統 (CentOS/RHEL/Fedora):

sudo yum update
sudo yum install docker-compose-plugin

關鍵說明:

  • ? 此方法自動處理依賴關系和后續更新
  • 🔄 每次執行安裝命令會自動升級到最新版本
  • 📦 安裝的插件名稱為 docker-compose-plugin
  • 🌐 確保系統能正常訪問 Docker 官方倉庫













Install using the repository 翻譯2

???? 通過軟件倉庫安裝

  1. 設置軟件倉庫
    各發行版專屬配置指南:
    Ubuntu |
    CentOS |
    Debian |
    樹莓派 OS |
    Fedora |
    RHEL |
    SLES

  2. 安裝最新版本

    • Ubuntu/Debian 系統
      $ sudo apt-get update
      $ sudo apt-get install docker-compose-plugin
      
    • 基于 RPM 的發行版(CentOS/RHEL/Fedora):
      $ sudo yum update
      $ sudo yum install docker-compose-plugin
      
  3. 驗證安裝

    $ docker compose version
    

注:執行驗證命令后,終端將顯示類似 Docker Compose version v2.24.7 的版本信息,表明安裝成功。













Install using the repository 翻譯3

???? 通過軟件倉庫安裝(推薦方式)

???????? 1. 配置軟件倉庫
根據您的 Linux 發行版選擇對應配置指南:

  • Ubuntu
  • CentOS
  • Debian
  • 樹莓派系統
  • Fedora
  • RHEL
  • SLES

???????? 2. 安裝最新版 Docker Compose
Ubuntu/Debian 系統:

sudo apt-get update  
sudo apt-get install docker-compose-plugin  

基于 RPM 的系統(CentOS/RHEL/Fedora):

sudo yum update  
sudo yum install docker-compose-plugin  

???????? 3. 驗證安裝

docker compose version  

? 成功安裝將顯示版本號,例如:Docker Compose version v2.39.1


關鍵說明:

  • 🔄 此方法自動處理更新,安裝后可通過系統包管理器升級
  • 📦 安裝的是 docker-compose-plugin 官方插件包
  • 🌐 需確保系統能訪問 Docker 官方軟件源
  • 💻 驗證命令使用新版格式 docker compose(非舊版 docker-compose

















3?? 參考 3 翻譯官方文檔 Install the plugin manually 手動安裝 Docker Compose 插件

Install the plugin manually 原文

[!WARNING]

Manual installations don’t auto-update. For ease of maintenance, use the Docker repository method.

  1. To download and install the Docker Compose CLI plugin, run:

    $ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    $ mkdir -p $DOCKER_CONFIG/cli-plugins
    $ curl -SL https://github.com/docker/compose/releases/download/{{% param "compose_version" %}}/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
    

    This command downloads and installs the latest release of Docker Compose for the active user under $HOME directory.

    To install:

    • Docker Compose for all users on your system, replace ~/.docker/cli-plugins with /usr/local/lib/docker/cli-plugins.
    • A different version of Compose, substitute {{% param "compose_version" %}} with the version of Compose you want to use.
    • For a different architecture, substitute x86_64 with the architecture you want.
  2. Apply executable permissions to the binary:

    $ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
    

    or, if you chose to install Compose for all users:

    $ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
    
  3. Test the installation.

    $ docker compose version
    













Install the plugin manually 翻譯

手動安裝插件

[!警告]
手動安裝無法自動更新! 為簡化維護流程,強烈建議優先使用 Docker 倉庫安裝方式。

???? 1. 下載并安裝插件

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}  
mkdir -p $DOCKER_CONFIG/cli-plugins  
curl -SL https://github.com/docker/compose/releases/download/v2.39.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose  

此命令將為當前用戶下載最新版 Docker Compose 到 $HOME 目錄。

自定義安裝選項:

場景操作方式
為所有用戶安裝~/.docker/cli-plugins 替換為 /usr/local/lib/docker/cli-plugins
安裝特定版本將鏈接中的 v2.39.1 替換為目標版本號
其他 CPU 架構x86_64 改為目標架構(如 aarch64

???? 2. 添加執行權限
當前用戶安裝:

chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose  

系統級安裝:

sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose  

???? 3. 驗證安裝

docker compose version  

? 成功輸出示例:Docker Compose version v2.39.1


關鍵說明:

  1. 此方式需定期手動檢查 GitHub 發布頁 獲取更新
  2. 升級時需重復下載步驟覆蓋舊文件
  3. 變量 {{% param "compose_version" %}} 需替換為具體版本號(如 v2.39.1
  4. 完整架構列表參見:官方發布頁面













Install the plugin manually 翻譯2

???? 手動安裝插件

[!警告]

手動安裝不支持自動更新。為便于維護,強烈推薦使用 Docker 軟件倉庫安裝方式

  1. 下載并安裝 CLI 插件

    $ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    $ mkdir -p $DOCKER_CONFIG/cli-plugins
    $ curl -SL https://github.com/docker/compose/releases/download/{{% param "compose_version" %}}/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
    

    此命令將為當前用戶下載最新版 Docker Compose 到 $HOME 目錄

    定制選項

    • 全局安裝:將 ~/.docker/cli-plugins 替換為 /usr/local/lib/docker/cli-plugins
    • 指定版本:將 {{% param "compose_version" %}} 替換為目標版本(如 v2.24.7
    • 其他架構:將 x86_64 替換為 支持架構(如 aarch64
  2. 授予執行權限

    • 當前用戶安裝
      $ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
      
    • 全局安裝
      $ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
      
  3. 驗證安裝

    $ docker compose version
    

    成功安裝將顯示版本信息(如 Docker Compose version v2.24.7


???? 關鍵參數說明

參數作用
$DOCKER_CONFIG自動定位 Docker 配置目錄
mkdir -p遞歸創建目錄(不存在時自動建立)
curl -SL支持重定向的靜默下載
chmod +x添加可執行權限
{{% param ... %}}需替換為具體版本號的實際值













Install the plugin manually 翻譯3

以下是對 Docker Compose 手動安裝插件 部分的專業中文翻譯:


手動安裝插件

警告
手動安裝不會自動更新。為便于維護,建議使用 Docker 軟件倉庫安裝方式。

執行以下命令下載并安裝 Docker Compose CLI 插件:

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.39.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

此命令將為當前用戶下載并安裝最新版 Docker Compose(安裝到 $HOME 目錄)。

安裝選項調整

  1. 為系統所有用戶安裝
    ~/.docker/cli-plugins 替換為 /usr/local/lib/docker/cli-plugins
  2. 安裝特定版本
    將 URL 中的 v2.39.1 替換為目標版本號
  3. 安裝其他架構版本
    x86_64 替換為目標架構(如 aarch64

賦予二進制文件執行權限

  • 當前用戶安裝:
    chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
    
  • 系統級安裝:
    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
    

驗證安裝

docker compose version

關鍵說明:

  1. 環境變量 DOCKER_CONFIG
    ${DOCKER_CONFIG:-$HOME/.docker} 表示:優先使用預設的 DOCKER_CONFIG 變量值,未設置則默認使用 $HOME/.docker
  2. 目錄結構
    CLI 插件必須安裝在 cli-plugins 子目錄中
  3. 權限要求
    chmod +x 是必要步驟,否則無法執行命令
  4. 版本控制
    手動安裝需自行跟蹤GitHub 發布頁獲取更新
  5. 架構支持
    常見架構標識:
    x86_64 (Intel/AMD 64位) | aarch64 (ARM 64位) | armv7 (ARMv7) | ppc64le (PowerPC)

















4?? 參考 4 翻譯官方文檔: Migrate from Docker Compose v1 to v2 (從 Docker Compose v1 遷移至 v2)

Migrate from Docker Compose v1 to v2 原文

Migrate from Docker Compose v1 to v2

From July 2023, Compose v1 stopped receiving updates. It’s also no longer available in new releases of Docker Desktop.

Compose v2, which was first released in 2020, is included with all currently supported versions of Docker Desktop. It offers an improved CLI experience, improved build performance with BuildKit, and continued new-feature development.

How do I switch to Compose v2?

The easiest and recommended way is to make sure you have the latest version of Docker Desktop, which bundles the Docker Engine and Docker CLI platform including Compose v2.

With Docker Desktop, Compose v2 is always accessible as docker compose.

For manual installs on Linux, you can get Compose v2 by either:

  • Using Docker’s repository (recommended)
  • Downloading and installing manually

What are the differences between Compose v1 and Compose v2?

???? docker-compose vs docker compose

Unlike Compose v1, Compose v2 integrates into the Docker CLI platform and the recommended command-line syntax is docker compose.

The Docker CLI platform provides a consistent and predictable set of options and flags, such as the DOCKER_HOST environment variable or the --context command-line flag.

This change lets you use all of the shared flags on the root docker command.
For example, docker --log-level=debug --tls compose up enables debug logging from the Docker Engine as well as ensuring that TLS is used for the connection.

[!TIP]

Update scripts to use Compose v2 by replacing the hyphen (-) with a space, using docker compose instead of docker-compose.

???? Service container names

Compose generates container names based on the project name, service name, and scale/replica count.

In Compose v1, an underscore (_) was used as the word separator.
In Compose v2, a hyphen (-) is used as the word separator.

Underscores aren’t valid characters in DNS hostnames.
By using a hyphen instead, Compose v2 ensures service containers can be accessed over the network via consistent, predictable hostnames.

For example, running the Compose command -p myproject up --scale=1 svc results in a container named myproject_svc_1 with Compose v1 and a container named myproject-svc-1 with Compose v2.

[!TIP]

In Compose v2, the global --compatibility flag or COMPOSE_COMPATIBILITY environment variable preserves the Compose v1 behavior to use underscores (_) as the word separator.
As this option must be specified for every Compose v2 command run, it’s recommended that you only use this as a temporary measure while transitioning to Compose v2.

???? Command-line flags and subcommands

Compose v2 supports almost all Compose V1 flags and subcommands, so in most cases, it can be used as a drop-in replacement in scripts.

???????? Unsupported in v2

The following were deprecated in Compose v1 and aren’t supported in Compose v2:

  • docker-compose scale. Use docker compose up --scale instead.
  • docker-compose rm --all

???????? Different in v2

The following behave differently between Compose v1 and v2:

Compose v1Compose v2
--compatibilityDeprecated. Migrates YAML fields based on legacy schema version.Uses _ as word separator for container names instead of - to match v1.
ps --filter KEY-VALUEUndocumented. Allows filtering by arbitrary service properties.Only allows filtering by specific properties, e.g. --filter=status=running.

???? Environment variables

Environment variable behavior in Compose v1 wasn’t formally documented and behaved inconsistently in some edge cases.

For Compose v2, the Environment variables section covers both precedence as well as .env file interpolation and includes many examples covering tricky situations such as escaping nested quotes.

Check if:

  • Your project uses multiple levels of environment variable overrides, for example .env file and --env CLI flags.
  • Any .env file values have escape sequences or nested quotes.
  • Any .env file values contain literal $ signs in them. This is common with PHP projects.
  • Any variable values use advanced expansion syntax, for example ${VAR:?error}.

[!TIP]

Run docker compose config on the project to preview the configuration after Compose v2 has performed interpolation to
verify that values appear as expected.

Maintaining backwards compatibility with Compose v1 is typically achievable by ensuring that literal values (no
interpolation) are single-quoted and values that should have interpolation applied are double-quoted.

What does this mean for my projects that use Compose v1?

For most projects, switching to Compose v2 requires no changes to the Compose YAML or your development workflow.

It’s recommended that you adapt to the new preferred way of running Compose v2, which is to use docker compose instead of docker-compose.
This provides additional flexibility and removes the requirement for a docker-compose compatibility alias.

However, Docker Desktop continues to support a docker-compose alias to redirect commands to docker compose for convenience and improved compatibility with third-party tools and scripts.

Is there anything else I need to know before I switch?

???? Migrating running projects

In both v1 and v2, running up on a Compose project recreates service containers as needed. It compares the actual state in the Docker Engine to the resolved project configuration, which includes the Compose YAML, environment variables, and command-line flags.

Because Compose v1 and v2 name service containers differently, running up using v2 the first time on a project with running services originally launched by v1, results in service containers being recreated with updated names.

Note that even if --compatibility flag is used to preserve the v1 naming style, Compose still needs to recreate service containers originally launched by v1 the first time up is run by v2 to migrate the internal state.

???? Using Compose v2 with Docker-in-Docker

Compose v2 is now included in the Docker official image on Docker Hub.

Additionally, a new docker/compose-bin image on Docker Hub packages the latest version of Compose v2 for use in multi-stage builds.

Can I still use Compose v1 if I want to?

Yes. You can still download and install Compose v1 packages, but you won’t get support from Docker if anything breaks.

[!WARNING]

The final Compose v1 release, version 1.29.2, was May 10, 2021. These packages haven’t received any security updates since then. Use at your own risk.

Additional Resources

  • docker-compose v1 on PyPI
  • docker/compose v1 on Docker Hub
  • docker-compose v1 source on GitHub













Migrate from Docker Compose v1 to v2 翻譯

從 Docker Compose v1 遷移至 v2 指南

2023年7月起,Compose v1 已停止更新,且不再包含在新版 Docker Desktop 中。
Compose v2(2020年首發)隨所有當前支持的 Docker Desktop 版本提供,具備以下優勢:

  • 🚀 優化的 CLI 體驗
  • ?? 基于 BuildKit 的構建性能提升
  • 🌟 持續的新功能開發

如何切換至 Compose v2?
???? 推薦方案:安裝最新版 Docker Desktop

  • 自動集成 Docker Engine、Docker CLI 及 Compose v2
  • 命令格式:docker compose注意空格替代連字符

???? Linux 手動安裝方案:

  1. 通過 Docker 倉庫安裝(推薦)
  2. 手動下載安裝

v1 與 v2 的核心差異
???? 1. 命令格式變更

v1v2
命令docker-composedocker compose
優勢-支持 Docker CLI 全局參數(如 --context, DOCKER_HOST
例:docker --log-level=debug compose up

[!TIP]
遷移腳本:將所有 docker-compose 替換為 docker compose

???? 2. 容器命名規則

v1 示例v2 示例原因
分隔符myproject_svc_1myproject-svc-1下劃線 _ 不符合 DNS 主機名規范
兼容方案-啟動時添加全局參數:
--compatibilityCOMPOSE_COMPATIBILITY=true
(臨時過渡使用)

???? 3. 命令參數變更

命令v1 狀態v2 替代方案
scale? 已棄用docker compose up --scale
rm --all? 不支持無直接替代

???? 4. 環境變量處理優化
v2 正式規范了環境變量的:

  • 優先級規則
  • .env 文件插值
  • 特殊字符轉義(如 $ 和嵌套引號)

[!TIP]
驗證配置:運行 docker compose config 預覽解析后的配置


遷移影響與注意事項
???? 對現有項目的影響

  • 多數項目 無需修改 compose.yaml
  • 需將腳本中的 docker-compose 改為 docker compose
  • Docker Desktop 仍保留 docker-compose 別名(兼容第三方工具)

???? 首次遷移運行警告
?? 若對 v1 啟動的容器 首次運行 docker compose up

  1. 容器將按 v2 規則重建(因命名規則變更)
  2. 即使使用 --compatibility 參數也會觸發重建(需遷移內部狀態)

???? 特殊場景支持

場景方案
Docker-in-Docker使用 Docker 官方鏡像(含 v2)
多階段構建使用 docker/compose-bin 鏡像

v1 的后續支持

項目狀態
最終版本v1.29.2(2021年5月發布)
安全更新? 已停止
下載渠道PyPI · Docker Hub · GitHub

[!WARNING]
風險提示:繼續使用 v1 可能面臨安全漏洞,且不受 Docker 官方支持


遷移資源

  • Compose v2 完整文檔
  • 環境變量處理詳解
  • 容器命名兼容模式說明













Migrate from Docker Compose v1 to v2 翻譯2

從 Docker Compose v1 遷移至 v2

背景說明
自 2023 年 7 月起,Compose v1 已停止更新,且不再包含于新版 Docker Desktop 中。
Compose v2(2020 年首發)已集成至所有受支持的 Docker Desktop 版本,提供:
? 優化的 CLI 體驗
? 基于 BuildKit 的構建性能提升
? 持續的功能迭代


如何切換到 Compose v2?
推薦方案
升級至最新版 Docker Desktop,該版本已內置 Compose v2,直接使用 docker compose 命令即可。

Linux 手動遷移方案

  • 通過 Docker 倉庫安裝(推薦)
  • 手動下載安裝

v1 與 v2 的核心差異
???? 1. 命令格式變更

版本命令格式說明
v1docker-compose獨立命令
v2docker compose集成至 Docker CLI 平臺,支持全局參數(如 --contextDOCKER_HOST)

💡 遷移提示:將腳本中的 docker-compose 替換為 docker compose

???? 2. 容器命名規則

版本分隔符示例 (-p myproject up --scale=1 svc)
v1_myproject_svc_1
v2-myproject-svc-1

?? 兼容性選項
使用 --compatibility 標志或 COMPOSE_COMPATIBILITY 環境變量可臨時啟用 v1 命名規則(下劃線分隔)

???? 3. 命令參數變更
已棄用功能

  • docker-compose scale → 改用 docker compose up --scale
  • docker-compose rm --all

行為差異

參數v1 行為v2 行為
--compatibility遷移舊版 YAML 字段容器名改用 _ 分隔符
ps --filter KEY-VALUE支持任意服務屬性過濾僅支持特定屬性(如 --filter=status=running)

???? 4. 環境變量處理優化
v2 明確規范了:

  • 變量優先級規則
  • .env 文件解析機制
  • 特殊字符處理(如 $、嵌套引號)

💡 驗證建議
執行 docker compose config 預覽配置解析結果,確保變量值符合預期


遷移影響與注意事項
???? 對現有項目的影響

  • 大多數項目無需修改 YAML 文件
  • 需將工作流中的命令從 docker-compose 改為 docker compose
  • Docker Desktop 仍保留 docker-compose 別名以兼容舊腳本

???? 運行中項目的遷移
?? 首次切換時容器會重建
因命名規則差異,v2 首次啟動由 v1 創建的項目時:

  1. 停止舊容器(myproject_svc_1 格式)
  2. 創建新容器(myproject-svc-1 格式)

即使使用 --compatibility 標志也會觸發重建

???? Docker-in-Docker 場景

  • Docker 官方鏡像 已集成 Compose v2
  • 多階段構建可使用 docker/compose-bin

關于繼續使用 v1 的警告

?? 強烈不建議繼續使用

  • 最終版本 v1.29.2 發布于 2021 年 5 月 10 日
  • 不再提供安全更新
  • 官方停止支持

資源鏈接:

  • PyPI 上的 v1 包
  • Docker Hub 的 v1 鏡像
  • GitHub v1 源碼

術語對照表

英文術語中文翻譯
drop-in replacement直接替代
word separator單詞分隔符
environment variable precedence環境變量優先級
compatibility flag兼容性標志
Docker-in-DockerDocker 嵌套容器方案













Migrate from Docker Compose v1 to v2 翻譯3

以下是對 Docker Compose v1 遷移至 v2 指南的專業中文翻譯:


從 Docker Compose v1 遷移到 v2

自 2023 年 7 月起,Compose v1 已停止更新。新版本的 Docker Desktop 也不再包含 v1。

Compose v2(2020 年首次發布)已集成到所有當前支持的 Docker Desktop 版本中。它提供了更優的 CLI 體驗、通過 BuildKit 提升構建性能,并持續支持新功能開發。

如何切換到 Compose v2?

推薦方案:安裝最新版 Docker Desktop,該版本捆綁了包含 Compose v2 的 Docker Engine 和 Docker CLI 平臺。
在 Docker Desktop 中,始終可通過 docker compose 命令使用 Compose v2。

Linux 手動安裝方案

  • 通過 Docker 軟件倉庫安裝(推薦)
  • 手動下載安裝

v1 與 v2 的主要差異

???? 命令格式:docker-composedocker compose
Compose v2 已集成到 Docker CLI 平臺,命令格式改為 docker compose(帶空格)。
此變更使您能使用 Docker 根命令的共享標志(如 DOCKER_HOST 環境變量或 --context 命令行標志):

docker --log-level=debug --tls compose up  # 同時啟用調試日志和 TLS 連接

[!提示]
將腳本中的連字符(-)替換為空格:docker compose 替代 docker-compose

???? 服務容器命名規則

版本命名規則示例 (-p myproject up --scale=1 svc)
v1使用下劃線 _ 分隔單詞myproject_svc_1
v2使用連字符 - 分隔單詞myproject-svc-1

[!提示]
v2 中可通過全局標志 --compatibility 或環境變量 COMPOSE_COMPATIBILITY 保留 v1 的下劃線命名規則(建議僅作為過渡期臨時方案)

???? 命令行標志與子命令
v2 支持絕大多數 v1 的 flags 和子命令,通常可直接替代舊版腳本。

???????? v2 不再支持的功能

  • docker-compose scale → 改用 docker compose up --scale
  • docker-compose rm --all

???????? 行為變更的功能

功能Compose v1Compose v2
--compatibility根據舊 schema 遷移 YAML 字段改用 _ 作為容器名單詞分隔符(保持 v1 風格)
ps --filter KEY-VALUE支持任意服務屬性過濾(未文檔化)僅支持特定屬性過濾(如 --filter=status=running

???? 環境變量處理
v1 的環境變量行為未正式文檔化,且在某些邊界場景表現不一致。
v2 的環境變量文檔明確了:

  1. 變量優先級規則
  2. .env 文件插值機制
  3. 特殊場景處理(如轉義嵌套引號)

需重點檢查:

  • 多級變量覆蓋(如同時使用 .env--env
  • .env 中含轉義序列或嵌套引號的值
  • 含字面量 $ 的值(常見于 PHP 項目)
  • 使用高級擴展語法的變量(如 ${VAR:?error}

[!提示]
運行 docker compose config 預覽配置插值結果,驗證是否符合預期。
保持 v1 兼容性建議:字面值用單引號,需插值的變量用雙引號。

對現有 v1 項目的影響
大多數項目無需修改 Compose YAML 或工作流
推薦改用 docker compose 命令,這將提供額外靈活性并消除對 docker-compose 兼容性別名的依賴。

Docker Desktop 仍保留 docker-compose 別名(重定向到 docker compose)以兼容第三方工具和腳本。

遷移前的注意事項

???? 運行中項目的遷移
當 v1 和 v2 執行 up 時,都會按需重建服務容器。但兩者使用不同的容器命名規則,導致 v1 啟動的容器在首次使用 v2 時會重建(獲得新名稱)。

即使使用 --compatibility 標志保留 v1 命名風格,首次遷移時仍需重建容器以更新內部狀態。

???? Docker-in-Docker 場景的使用
Compose v2 現已包含在 Docker 官方鏡像中。
另提供專用鏡像 docker/compose-bin 用于多階段構建。

能否繼續使用 Compose v1?
可以,但存在風險

  • 仍可下載安裝 v1 包,但 Docker 不再提供支持
  • 最終版本 v1.29.2 發布于 2021 年 5 月 10 日,此后無安全更新

資源參考

  • PyPI 上的 docker-compose v1
  • Docker Hub 上的 docker/compose v1
  • GitHub 上的 v1 源碼

關鍵遷移建議:

  1. 生產環境優先采用 Docker Desktop 或倉庫安裝的 v2
  2. 批量替換腳本中的 docker-composedocker compose
  3. 使用 docker compose config 驗證環境變量插值
  4. 復雜項目首次遷移時添加 --compatibility 標志過渡
  5. 避免繼續使用已停止維護的 v1 版本





























5?? 參考 5 [github 的 docker compose 的 README.md 翻譯 ]

github 的 docker compose 的 README.md 原文

Table of Contents

  • Docker Compose v2
  • Where to get Docker Compose
    • Windows and macOS
    • Linux
  • Quick Start
  • Contributing
  • Legacy
    Docker Compose v2

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

Docker Compose is a tool for running multi-container applications on Docker
defined using the Compose file format.
A Compose file is used to define how one or more containers that make up
your application are configured.
Once you have a Compose file, you can create and start your application with a
single command: docker compose up.

Note: About Docker Swarm
Docker Swarm used to rely on the legacy compose file format but did not adopted the compose specification
so is missing some of the recent enhancements in the compose syntax. After
acquisition by Mirantis swarm isn’t maintained by Docker Inc, and
as such some Docker Compose features aren’t accessible to swarm users.

Where to get Docker Compose

???????? Windows and macOS

Docker Compose is included in
Docker Desktop
for Windows and macOS.

???????? Linux

You can download Docker Compose binaries from the
release page on this repository.

Rename the relevant binary for your OS to docker-compose and copy it to $HOME/.docker/cli-plugins

Or copy it into one of these folders to install it system-wide:

  • /usr/local/lib/docker/cli-plugins OR /usr/local/libexec/docker/cli-plugins
  • /usr/lib/docker/cli-plugins OR /usr/libexec/docker/cli-plugins

(might require making the downloaded file executable with chmod +x)

Quick Start

Using Docker Compose is a three-step process:

  1. Define your app’s environment with a Dockerfile so it can be
    reproduced anywhere.
  2. Define the services that make up your app in compose.yaml so
    they can be run together in an isolated environment.
  3. Lastly, run docker compose up and Compose will start and run your entire
    app.

A Compose file looks like this:

services:web:build: .ports:- "5000:5000"volumes:- .:/coderedis:image: redis

Contributing

Want to help develop Docker Compose? Check out our
contributing documentation.

If you find an issue, please report it on the
issue tracker.

Legacy

The Python version of Compose is available under the v1 branch.













github 的 docker compose 的 README.md 翻譯

Docker Compose v2 中文文檔


目錄

  • Docker Compose v2
  • 獲取 Docker Compose
    • Windows 和 macOS
    • Linux
  • 快速入門
  • 參與貢獻
  • 舊版支持

Docker Compose v2

Docker Compose 是基于 Compose 文件格式 運行多容器應用的工具。通過 Compose 文件定義應用的容器配置后,只需一條命令即可啟動完整應用:

docker compose up  

注意:關于 Docker Swarm
Docker Swarm 曾依賴舊版 Compose 格式,但未采用 Compose 規范,因此缺少最新語法特性。
自 Mirantis 收購 后,Swarm 不再由 Docker 公司維護,部分 Compose 功能對 Swarm 用戶不可用。


獲取 Docker Compose
???? Windows 和 macOS
Docker Compose 已內置在 Docker Desktop 中。

???? Linux

  1. 從 發布頁面 下載二進制文件
  2. 重命名為 docker-compose 并復制到以下目錄:
    • 用戶級$HOME/.docker/cli-plugins
    • 系統級
      • /usr/local/lib/docker/cli-plugins/usr/local/libexec/docker/cli-plugins
      • /usr/lib/docker/cli-plugins/usr/libexec/docker/cli-plugins
  3. 添加執行權限
    chmod +x /目標路徑/docker-compose  
    

快速入門
只需三步即可運行應用:

  1. 定義環境:用 Dockerfile 確保環境可移植
  2. 配置服務:在 compose.yaml 中定義應用服務
  3. 一鍵啟動:執行 docker compose up

???? 示例 compose.yaml

services:  web:  build: .          # 構建當前目錄鏡像  ports:  - "5000:5000"  # 端口映射  volumes:  - .:/code       # 實時同步代碼  redis:  image: redis      # 使用官方 Redis 鏡像  

參與貢獻

  • 參與開發?查看 貢獻指南
  • 發現問題?提交至 問題跟蹤系統

舊版支持
Python 編寫的 Compose v1 可在 v1 分支 獲取(已停止更新)。













github 的 docker compose 的 README.md 翻譯 2

???? Docker Compose v2 文檔


目錄

  • Docker Compose v2
  • 獲取 Docker Compose
    • Windows 與 macOS
    • Linux
  • 快速入門
  • 參與貢獻
  • 舊版說明

???? Docker Compose v2

Docker Compose 是基于 Compose 文件格式 在 Docker 上運行多容器應用的工具。
通過 Compose 文件定義應用的容器配置,只需一條命令即可啟動整個應用:

docker compose up

注意:關于 Docker Swarm
Docker Swarm 曾依賴舊版 Compose 文件格式,但未采用 Compose 規范,因此缺失新語法特性。
自 Mirantis 收購 后,Swarm 已非 Docker 官方維護,部分功能對 Swarm 用戶不可用。


???? 獲取 Docker Compose
???????? Windows 與 macOS
Docker Compose 已包含在 Docker Desktop 中,安裝即用。

???????? Linux
從 發布頁面 下載二進制文件:

  1. 重命名為 docker-compose
  2. 復制到以下目錄:
    • 用戶級$HOME/.docker/cli-plugins
    • 系統級
      /usr/local/lib/docker/cli-plugins/usr/local/libexec/docker/cli-plugins
      /usr/lib/docker/cli-plugins/usr/libexec/docker/cli-plugins
      (可能需要執行 chmod +x 添加可執行權限)

???? 快速入門
三步啟動應用:

  1. 定義環境:用 Dockerfile 確保環境可復現
  2. 配置服務:在 compose.yaml 中定義應用服務
  3. 啟動應用:執行 docker compose up

示例 compose.yaml

services:web:build: .          # 構建當前目錄鏡像ports:- "5000:5000"   # 端口映射volumes:- .:/code       # 目錄掛載redis:image: redis      # 使用官方鏡像

???? 參與貢獻
參與開發?查閱 貢獻指南。
發現問題?提交至 問題跟蹤器。


???? 舊版說明
Python 版 Compose 請訪問 v1 分支。


???? 關鍵術語對照

英文術語中文翻譯
multi-container多容器
Compose file formatCompose 文件格式
isolated environment隔離環境
legacy compose format舊版 Compose 格式
cli-pluginsCLI 插件目錄













github 的 docker compose 的 README.md 翻譯 3

以下是 Docker Compose v2 文檔的專業中文翻譯:


目錄

  • Docker Compose v2
  • 獲取 Docker Compose
    • Windows 和 macOS
    • Linux
  • 快速入門
  • 貢獻指南
  • 舊版說明

Docker Compose v2

Docker Compose 是基于 Compose 文件格式規范 運行多容器應用的工具。
通過 Compose 文件定義組成應用的容器配置后,只需單條命令即可創建和啟動應用:

docker compose up

注意:關于 Docker Swarm
Docker Swarm 曾依賴舊版 Compose 文件格式,但未采用 Compose 規范,因此缺少近期語法增強功能。
自 Mirantis 收購 后,Swarm 不再由 Docker Inc 維護,
部分 Docker Compose 功能對 Swarm 用戶不可用。

獲取 Docker Compose

???????? Windows 和 macOS
Docker Compose 已集成在 Docker Desktop 中。

???????? Linux
從 GitHub 發布頁面 下載二進制文件:

  1. 將文件重命名為 docker-compose
  2. 復制到 $HOME/.docker/cli-plugins(當前用戶)

復制到以下系統級目錄(全局安裝):

  • /usr/local/lib/docker/cli-plugins/usr/local/libexec/docker/cli-plugins
  • /usr/lib/docker/cli-plugins/usr/libexec/docker/cli-plugins

(可能需要執行 chmod +x 賦予可執行權限)

快速入門
使用 Docker Compose 只需三步:

  1. Dockerfile 定義應用環境,確保可跨環境復現
  2. compose.yaml 中定義組成應用的各個服務
  3. 運行 docker compose up 啟動完整應用

示例 compose.yaml

services:web:  # Web 服務build: .  # 構建當前目錄鏡像ports:- "5000:5000"  # 端口映射volumes:- .:/code  # 目錄掛載redis:  # Redis 服務image: redis  # 使用官方鏡像

貢獻指南
歡迎參與 Docker Compose 開發!請查閱
貢獻文檔。
發現問題?請在 問題跟蹤器 提交報告。

舊版說明
Python 版 Compose 位于 v1 分支。


關鍵術語說明:

  1. Compose 文件格式:定義多容器應用的標準化規范
  2. CLI 插件:Docker Compose v2 以插件形式集成到 Docker CLI
  3. 系統級安裝:需管理員權限的全局安裝方式
  4. 服務容器:Compose 中每個獨立運行的應用組件
  5. 卷掛載volumes 實現宿主機與容器間數據持久化













github 的 docker compose 的 README.md 翻譯 4

???? Docker Compose v2 中文文檔


???????? 目錄

  • Docker Compose v2
  • 獲取 Docker Compose
    • Windows 和 macOS
    • Linux
  • 快速入門
  • 參與貢獻
  • 舊版說明

???? Docker Compose v2

Docker Compose 是通過 Compose 文件格式 定義并運行多容器 Docker 應用的工具。
使用 Compose 文件定義應用的容器配置后,只需一條命令即可創建并啟動整個應用:

docker compose up

注意:關于 Docker Swarm
Docker Swarm 曾依賴舊版 Compose 格式,但未采用 Compose 規范,因此缺少最新語法增強功能。
自 Mirantis 收購 后,Swarm 不再由 Docker Inc 維護,部分 Compose 功能對 Swarm 用戶不可用。


???? 獲取 Docker Compose
???????? Windows 和 macOS
Docker Compose 已包含在 Docker Desktop 中。

???????? Linux

  1. 從 發布頁面 下載二進制文件
  2. 將文件重命名為 docker-compose
  3. 復制到用戶目錄:
    cp docker-compose $HOME/.docker/cli-plugins/
    
    復制到以下路徑全局安裝:
    # 系統級路徑 (需 sudo)
    /usr/local/lib/docker/cli-plugins
    /usr/local/libexec/docker/cli-plugins
    /usr/lib/docker/cli-plugins
    /usr/libexec/docker/cli-plugins# 授予執行權限
    sudo chmod +x /安裝路徑/docker-compose
    

???? 快速入門
只需三步:

  1. 定義環境
    Dockerfile 確保環境可復現
  2. 定義服務
    compose.yaml 中聲明應用服務組件
  3. 啟動應用
    docker compose up
    

示例 compose.yaml

services:web:   # Web服務build: .         # 構建當前目錄鏡像ports:- "5000:5000"  # 端口映射volumes:- .:/code      # 掛載代碼目錄redis: # Redis服務image: redis     # 使用官方鏡像

???? 參與貢獻
歡迎參與開發!請查閱:

  • 貢獻指南
  • 提交問題報告

???? 舊版說明
Python 編寫的 Compose v1 版本位于 v1 分支。













github 的 docker compose 的 README.md 翻譯 5

好的,這是 Docker Compose v2 文檔的簡體中文翻譯:


目錄

  • Docker Compose v2
  • 獲取 Docker Compose
    • Windows 和 macOS
    • Linux
  • 快速入門
  • 貢獻
  • 舊版

Docker Compose v2

Docker Compose 是一個用于在 Docker 上運行多容器應用的工具,它使用 Compose 文件格式進行定義。
Compose 文件用于定義組成應用程序的一個或多個容器的配置方式。
一旦擁有 Compose 文件,您只需一個命令即可創建并啟動應用程序:docker compose up

重要提示:關于 Docker Swarm
Docker Swarm 曾依賴舊版 Compose 文件格式,但未采用 Compose 規范,因此缺少一些最新的 Compose 語法增強功能。
在 被 Mirantis 收購 后,Swarm 不再由 Docker Inc 維護,因此 Swarm 用戶無法使用某些 Docker Compose 功能。


獲取 Docker Compose

???????? Windows 和 macOS

Docker Compose 已包含在 Windows 和 macOS 版的 Docker Desktop 中。

???????? Linux

您可以從本倉庫的 發布頁面 下載 Docker Compose 二進制文件。

安裝步驟

  1. 將適合您操作系統的二進制文件重命名為 docker-compose
  2. 將其復制到以下目錄之一:
    • 當前用戶專用$HOME/.docker/cli-plugins
    • 系統全局安裝
      • /usr/local/lib/docker/cli-plugins/usr/local/libexec/docker/cli-plugins
      • /usr/lib/docker/cli-plugins/usr/libexec/docker/cli-plugins

    💡 可能需要使用 chmod +x 命令賦予文件可執行權限


快速入門

使用 Docker Compose 只需三步:

  1. 定義應用環境:使用 Dockerfile 定義您的應用程序環境,使其可在任何地方重現
  2. 定義服務:在 compose.yaml 中定義組成應用程序的服務,使其可在隔離環境中協同運行
  3. 啟動應用:運行 docker compose up,Compose 將啟動并運行整個應用

示例 Compose 文件 (compose.yaml)

services:web:build: .          # 從當前目錄構建鏡像ports:- "5000:5000"   # 映射端口 5000volumes:- .:/code       # 掛載當前目錄到容器內的 /coderedis:image: redis      # 使用官方 Redis 鏡像

貢獻

想要幫助開發 Docker Compose?請查閱我們的貢獻指南。
如果您發現問題,請在問題跟蹤器上報告。


舊版

基于 Python 的 Compose 版本可在 v1 分支 下獲取。


???????? 關鍵術語對照:

  • Compose file format → Compose 文件格式
  • CLI plugins → CLI 插件
  • multi-container applications → 多容器應用
  • isolated environment → 隔離環境
  • issue tracker → 問題跟蹤器
  • legacy compose → 舊版 Compose

注:保留所有技術名詞原格式(如 docker compose up),鏈接和代碼塊保持原樣不變。













github 的 docker compose 的 README.md 翻譯 6

???? Docker Compose v2 文檔目錄

  • Docker Compose v2
  • 獲取 Docker Compose
    • Windows 和 macOS
    • Linux
  • 快速入門
  • 參與貢獻
  • 舊版本

???? Docker Compose v2

Docker Compose 是基于 Compose 文件格式 運行多容器應用的工具。通過 Compose 文件定義應用容器配置后,只需執行一條命令即可啟動整個應用:

docker compose up

注意:關于 Docker Swarm
Docker Swarm 曾依賴舊版 Compose 文件格式,但未采用 Compose 規范,因此無法支持最新語法特性。自 Mirantis 收購 后,Swarm 已不再由 Docker 官方維護。


???? 獲取 Docker Compose
???????? Windows 和 macOS
直接安裝 Docker Desktop,其內置 Docker Compose。

???????? Linux

  1. 從 發布頁面 下載二進制文件
  2. 重命名為 docker-compose 并復制到以下目錄:
    • 用戶級$HOME/.docker/cli-plugins
    • 系統級(需 chmod +x 添加執行權限):
      /usr/local/lib/docker/cli-plugins/usr/local/libexec/docker/cli-plugins
      /usr/lib/docker/cli-plugins/usr/libexec/docker/cli-plugins

???? 快速入門
只需三步:

  1. 定義環境:用 Dockerfile 創建可移植環境
  2. 配置服務:在 compose.yaml 中定義應用服務
  3. 啟動應用:執行 docker compose up

示例 compose.yaml

services:web:build: .  # 構建當前目錄鏡像ports:- "5000:5000"  # 端口映射volumes:- .:/code  # 目錄掛載redis:image: redis  # 使用官方鏡像

???? 參與貢獻
參與開發?查閱 貢獻指南。
發現問題?提交至 問題跟蹤器。


???? 舊版本
Python 編寫的 Compose v1 位于 v1 分支。


???? 翻譯要點說明:

  1. 技術術語處理

    • “Compose file format” 譯為 “Compose 文件格式” 并保留規范鏈接
    • “CLI-plugins” 保持英文(技術目錄名)
    • “issue tracker” 譯為 “問題跟蹤器”(符合中文技術社區習慣)
  2. 動態元素保留

    • 徽章(Badge)鏈接和版本號保持原功能
    • 代碼塊和命令未翻譯(如 docker compose up
    • 路徑 /usr/local/lib/... 保留原始大小寫
  3. 復雜說明優化

    • Swarm 維護狀態說明轉為清晰因果句式
    • 舊版本分支標注開發語言(Python)特性
    • YAML 注釋使用中文說明(如 # 構建當前目錄鏡像
  4. 交互元素增強

    • 目錄層級使用中文符號(·
    • 關鍵步驟添加視覺符號(如
    • 注意事項使用醒目標識 > 注意





























6?? 參考 6 安裝 docker compose v2版 多個AI回答

安裝 docker compose v2版 回答1

Docker Compose v2 安裝指南
以下是最簡潔的 跨平臺安裝方案,支持 Linux/macOS/Windows(含 WSL):


???? 通用安裝命令

# 創建插件目錄
mkdir -p ~/.docker/cli-plugins# 下載最新版 V2 二進制文件
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o ~/.docker/cli-plugins/docker-compose# 添加執行權限
chmod +x ~/.docker/cli-plugins/docker-compose# 驗證安裝
docker compose version

? 成功輸出:Docker Compose version v2.x.x


系統專屬方案
???? Linux 系統

# 推薦:通過官方倉庫安裝(自動更新)
sudo apt-get update && sudo apt-get install docker-compose-plugin  # Debian/Ubuntu
sudo yum update && sudo yum install docker-compose-plugin         # CentOS/RHEL

???? macOS 系統

# Homebrew 安裝(首選)
brew install docker-compose# 或手動安裝
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-darwin-$(uname -m) -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose

???? Windows 系統

  1. 安裝 Docker Desktop
  2. 勾選 Use Docker Compose V2(安裝時默認選中)

或在 PowerShell 中執行:

curl.exe -L https://github.com/docker/compose/releases/latest/download/docker-compose-windows-x86_64.exe -o $env:USERPROFILE\.docker\cli-plugins\docker-compose.exe

安裝驗證

# 創建測試項目
mkdir compose-test && cd compose-test
cat > compose.yaml <<EOF
services:test:image: alpine:latestcommand: echo "Docker Compose V2 安裝成功!"
EOF# 運行測試
docker compose up

🟢 成功輸出:Docker Compose V2 安裝成功!


關鍵說明

  1. 安裝位置

    • 用戶級:~/.docker/cli-plugins/
    • 系統級:/usr/local/lib/docker/cli-plugins/
  2. 命令區別

    • ? 新版:docker compose [命令]
    • ? 舊版:docker-compose [命令]
  3. 升級方法

    rm ~/.docker/cli-plugins/docker-compose
    # 重新執行安裝命令
    

注意

  • 手動安裝需定期檢查 GitHub 發布頁 獲取更新
  • 完整文檔:官方安裝指南













安裝 docker compose v2版 回答2

以下是安裝 Docker Compose v2 的完整指南,提供兩種推薦方法:

方法一:通過軟件倉庫安裝(推薦,支持自動更新)

# Ubuntu/Debian 系統
sudo apt-get update
sudo apt-get install docker-compose-plugin# CentOS/RHEL/Fedora 系統
sudo yum update
sudo yum install docker-compose-plugin

方法二:手動安裝(通用方法)

# 創建安裝目錄
mkdir -p ~/.docker/cli-plugins# 下載最新版(自動檢測架構)
ARCH=$(uname -m | sed 's/x86_64/x86_64/;s/aarch64/aarch64/;s/armv7l/armv7/')
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$ARCH -o ~/.docker/cli-plugins/docker-compose# 授予執行權限
chmod +x ~/.docker/cli-plugins/docker-compose

驗證安裝

docker compose version
# 成功安裝會顯示:Docker Compose version v2.x.x

系統級安裝(所有用戶可用)

# 下載到系統目錄
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m | sed 's/x86_64/x86_64/;s/aarch64/aarch64/') -o /usr/local/lib/docker/cli-plugins/docker-compose# 授予權限
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

安裝后測試

# 創建測試項目
mkdir compose-test && cd compose-test
echo 'services: test: image: alpine:latest command: echo "Compose v2 Installed!"' > compose.yaml# 運行測試
docker compose up
# 成功輸出會顯示:compose-test-test-1 exited with code 0

重要說明

  1. 先決條件:需先安裝 Docker Engine
  2. 架構支持
    • Intel/AMD CPU:使用 x86_64
    • 蘋果 M 系列/樹莓派 4:使用 aarch64
    • 舊款 ARM 設備:使用 armv7
  3. 版本管理
    # 查看可用版本
    curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name# 安裝特定版本(如 v2.24.7)
    curl -SL https://github.com/docker/compose/releases/download/v2.24.7/docker-compose-linux-$(uname -m) -o ~/.docker/cli-plugins/docker-compose
    
  4. 遷移舊版
    # 卸載舊版 v1
    sudo apt remove docker-compose  # Ubuntu/Debian
    sudo pip uninstall docker-compose  # Pip安裝# 更新現有腳本
    sed -i 's/docker-compose/docker compose/g' your_script.sh
    

提示:對于 Windows/macOS 用戶,安裝 Docker Desktop 即自動包含 Compose v2,無需單獨安裝。













安裝 docker compose v2版 回答3

安裝 Docker Compose V2 新版指南

???? 方法一:通過官方倉庫安裝(推薦)

# Ubuntu/Debian 系統
sudo apt update
sudo apt install docker-compose-plugin# CentOS/RHEL 系統
sudo yum update
sudo yum install docker-compose-plugin# 驗證安裝
docker compose version
# 應輸出:Docker Compose version v2.x.x

???? 方法二:手動安裝(適用于所有 Linux)

# 下載最新版(x86_64 架構)
DOCKER_DIR="${DOCKER_DIR:-$HOME/.docker}"
mkdir -p $DOCKER_DIR/cli-plugins
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o $DOCKER_DIR/cli-plugins/docker-compose# 授予執行權限
chmod +x $DOCKER_DIR/cli-plugins/docker-compose# 驗證安裝
docker compose version

???? 其他架構替換方案

架構類型下載鏈接替換部分
ARM64 (樹莓派)linux-aarch64
Apple Silicondarwin-aarch64
Intel Macdarwin-x86_64
Windowswindows-x86_64.exe

???? 系統級安裝(所有用戶可用)

sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

配置命令別名(兼容舊版)

echo "alias docker-compose='docker compose'" >> ~/.bashrc
source ~/.bashrc

升級現有版本

# 倉庫安裝用戶
sudo apt update && sudo apt install docker-compose-plugin  # Ubuntu/Debian
sudo yum update && sudo yum install docker-compose-plugin  # CentOS/RHEL# 手動安裝用戶:重復下載步驟覆蓋舊文件

驗證安裝成功

docker compose version
# 輸出示例:
# Docker Compose version v2.24.5

注意事項

  1. 依賴要求:需先安裝 Docker Engine 20.10.10+
  2. 權限配置:將用戶加入 docker 組避免 sudo
    sudo usermod -aG docker $USER
    newgrp docker  # 立即生效
    
  3. 命令變化
    • V1 舊命令:docker-compose up
    • V2 新命令:docker compose up

推薦使用倉庫安裝方式,可獲得自動安全更新。生產環境應使用最新穩定版,可通過 GitHub Releases 查看版本信息。













安裝 docker compose v2版 回答4

以下是安裝 Docker Compose V2 的完整指南,適用于各主流操作系統:


所有系統通用前提

  1. 確保已安裝最新版 Docker Engine
    docker --version
    

    若未安裝:官方 Docker 安裝指南


安裝方法(按操作系統選擇)

???? Linux 系統 (推薦倉庫安裝)

# 1. 添加 Docker 官方倉庫 (以 Ubuntu 為例)
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 2. 安裝 Docker Compose V2
sudo apt-get update
sudo apt-get install docker-compose-plugin# 3. 驗證安裝
docker compose version
# 應輸出:Docker Compose version v2.x.x

???? Windows/macOS 系統

  1. 下載并安裝最新版 Docker Desktop
  2. 安裝后直接使用:
    docker compose version
    

???? 手動安裝(通用方法)

# 下載二進制文件 (替換版本號和架構)
DOCKER_COMPOSE_VERSION="v2.24.5"  # 從 https://github.com/docker/compose/releases 獲取最新版
ARCH="x86_64"  # 可選: aarch64, armv7, etc.# 安裝到當前用戶
mkdir -p ~/.docker/cli-plugins
curl -SL "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH}" -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose# 驗證
docker compose version

關鍵注意事項

  1. 命令變化

    # V2 使用新語法 (無連字符)
    docker compose up -d    # ? 正確
    docker-compose up -d    # ?? 舊版 V1 語法
    
  2. 卸載舊版 V1 (如已安裝):

    # Linux
    sudo apt remove docker-compose
    sudo rm /usr/local/bin/docker-compose# macOS
    brew uninstall docker-compose
    
  3. 自動補全 (增強體驗):

    # Linux bash 補全
    sudo curl -L https://raw.githubusercontent.com/docker/compose/v2/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
    

遷移項目到 V2

  1. 更新腳本:將所有 docker-compose 替換為 docker compose
  2. 容器命名變更:
    • V1:project_service_1
    • V2:project-service-1

    臨時兼容:使用 docker compose --compatibility up 保持舊命名


驗證安裝成功

# 創建測試項目
mkdir compose-test && cd compose-test
echo 'services: nginx: image: nginx' > compose.yaml# 啟動服務
docker compose up -d# 檢查狀態
docker compose ps# 清理
docker compose down --rmi all

💡 提示:遇到權限問題請運行 sudo usermod -aG docker $USER 并重新登錄

通過上述步驟,您將在所有主流系統上完成 Docker Compose V2 的安裝和驗證。













安裝 docker compose v2版 回答5

以下是安裝 Docker Compose v2 的完整指南:

安裝 Docker Compose v2 的三種方法

???? 方法一:通過 Docker Desktop 安裝 (推薦)

# 1. 下載并安裝 Docker Desktop
https://www.docker.com/products/docker-desktop/# 2. 安裝后驗證
docker compose version
# 應輸出:Docker Compose version v2.x.x

? 適合:Windows/macOS 用戶
? 優勢:自動更新、一鍵安裝

???? 方法二:Linux 倉庫安裝 (Debian/Ubuntu)

# 1. 更新倉庫
sudo apt-get update# 2. 安裝插件
sudo apt-get install docker-compose-plugin# 3. 驗證安裝
docker compose version

???? 方法三:手動安裝 (所有 Linux 系統)

# 1. 創建插件目錄
mkdir -p ~/.docker/cli-plugins# 2. 下載二進制文件 (替換版本號)
curl -SL https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-linux-$(uname -m) -o ~/.docker/cli-plugins/docker-compose# 3. 添加執行權限
chmod +x ~/.docker/cli-plugins/docker-compose# 4. 驗證安裝
docker compose version

系統級安裝 (所有用戶可用)

# 1. 下載到系統目錄
sudo curl -SL https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-linux-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose# 2. 添加執行權限
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

安裝驗證與測試

# 檢查版本
docker compose version# 創建測試項目
mkdir compose-test && cd compose-test
echo 'services: nginx: image: nginx' > compose.yaml# 啟動服務
docker compose up -d# 檢查狀態
docker compose ps

常見問題解決

  1. 權限錯誤

    sudo usermod -aG docker $USER  # 添加用戶到docker組
    newgrp docker                 # 刷新組權限
    
  2. 架構不匹配
    替換下載鏈接中的 $(uname -m) 為實際架構:

    • x86_64 (Intel/AMD)
    • aarch64 (ARM)
    • ppc64le (PowerPC)
  3. 版本升級

    # 手動安裝時重新下載新版本文件
    curl -SL https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-$(uname -m) -o ~/.docker/cli-plugins/docker-compose
    

💡 提示:訪問 GitHub Releases 獲取最新版本號替換 v2.24.5













安裝 docker compose v2版 回答6

以下是安裝 Docker Compose v2 的完整指南:

安裝步驟(Linux 系統)

???? 方法一:通過軟件倉庫安裝(推薦,支持自動更新)

# 1. 更新系統包索引
sudo apt-get update  # Ubuntu/Debian
# 或
sudo yum update     # CentOS/RHEL# 2. 安裝 Docker Compose 插件
sudo apt-get install docker-compose-plugin  # Ubuntu/Debian
# 或
sudo yum install docker-compose-plugin      # CentOS/RHEL# 3. 驗證安裝
docker compose version
# 應輸出:Docker Compose version v2.x.x

???? 方法二:手動安裝(適合自定義需求)

# 1. 創建插件目錄
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins# 2. 下載最新版二進制文件(替換版本號)
# 查看最新版本:https://github.com/docker/compose/releases
COMPOSE_VERSION=v2.24.5  # 替換為最新版本
ARCH=$(uname -m)         # 自動檢測架構curl -SL "https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-linux-$ARCH" \-o $DOCKER_CONFIG/cli-plugins/docker-compose# 3. 賦予執行權限
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose# 4. 驗證安裝
docker compose version

Windows/macOS 用戶
Docker Compose v2 已包含在 Docker Desktop 中:

  1. 下載并安裝最新版 Docker Desktop
  2. 安裝后直接在終端使用:
    docker compose version
    

安裝后配置

  1. 遷移舊版命令

    # 替換所有腳本中的舊命令
    sed -i 's/docker-compose/docker compose/g' your-script.sh
    
  2. 啟用命令補全

    # Bash 用戶
    docker completion bash > /etc/bash_completion.d/docker-compose
    source ~/.bashrc# Zsh 用戶
    mkdir -p ~/.zsh/completion
    docker completion zsh > ~/.zsh/completion/_docker
    echo "fpath=(~/.zsh/completion \$fpath)" >> ~/.zshrc
    source ~/.zshrc
    

驗證安裝成功

# 創建測試項目
mkdir compose-test && cd compose-test# 創建示例 compose.yaml
cat > compose.yaml <<EOF
services:web:image: nginx:alpineports:- "8080:80"
EOF# 啟動服務
docker compose up -d# 檢查運行狀態
docker compose ps# 訪問測試
curl localhost:8080  # 應返回 Nginx 歡迎頁# 清理測試
docker compose down

常見問題解決

  1. 權限錯誤

    sudo chown $USER:$USER $HOME/.docker -R
    
  2. 命令未找到

    # 檢查插件路徑
    echo $DOCKER_CONFIG
    ls -l $DOCKER_CONFIG/cli-plugins# 系統級安裝方案
    sudo mkdir -p /usr/local/lib/docker/cli-plugins
    sudo cp $HOME/.docker/cli-plugins/docker-compose /usr/local/lib/docker/cli-plugins/
    
  3. 版本過舊

    # 手動更新
    rm ~/.docker/cli-plugins/docker-compose
    # 重新執行手動安裝步驟
    

重要提示:所有 v2 命令使用 docker compose(帶空格),不再是 v1 的 docker-compose(帶連字符)

















7?? 參考 7 四個系統目錄對比

  • /usr/local/lib/docker/cli-plugins
  • /usr/local/libexec/docker/cli-plugins
  • /usr/lib/docker/cli-plugins
  • /usr/libexec/docker/cli-plugins
    對比

對比 1

???? Docker Compose V2 系統級安裝目錄對比

以下是對四個系統級安裝目錄的詳細對比分析:

目錄路徑推薦度適用場景權限要求特點
/usr/local/lib/docker/cli-plugins★★★★★首選推薦位置sudo標準手動安裝目錄,與系統包隔離,最符合 Linux FHS 規范
/usr/local/libexec/docker/cli-plugins★★★★☆替代方案sudolibexec 通常存放內部二進制文件,較少用作插件目錄
/usr/lib/docker/cli-plugins★★☆☆☆包管理器安裝sudo系統級庫目錄,易與包管理器沖突,不推薦手動安裝
/usr/libexec/docker/cli-plugins★★☆☆☆特殊系統配置sudo系統內部執行目錄,非常規插件位置,可能被系統更新覆蓋

???? 核心結論

  1. 首選目錄
    ? /usr/local/lib/docker/cli-plugins

    • 理由:符合 Linux FHS 標準的第三方軟件位置
    • 示例命令
      sudo mkdir -p /usr/local/lib/docker/cli-plugins
      sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose
      sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
      
  2. 備選目錄
    ?? /usr/local/libexec/docker/cli-plugins

    • 僅當 主目錄不可用時作為替代方案
  3. 避免使用的目錄
    ? /usr/lib/docker/cli-plugins/usr/libexec/docker/cli-plugins

    • 風險
      • 可能被系統包管理器(apt/yum)覆蓋
      • 與 Docker 官方安裝包沖突
      • 違反 Linux 目錄規范

???? 最佳實踐建議

# 1. 創建推薦目錄
sudo mkdir -p /usr/local/lib/docker/cli-plugins# 2. 下載 Compose V2
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) \-o /usr/local/lib/docker/cli-plugins/docker-compose# 3. 添加執行權限
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose# 4. 驗證安裝
docker compose version

關鍵說明

  • 使用 /usr/local/ 目錄可確保:
    • 手動安裝與系統包隔離
    • 避免未來 Docker 升級沖突
    • 符合 Linux 系統管理規范
  • 通過 which docker-compose 檢查是否存在舊版沖突文件













對比 2

以下是四個 Docker Compose 系統級安裝目錄的詳細對比分析:

目錄路徑用途定位適用場景優先級系統標準
/usr/local/lib/docker/cli-plugins用戶級本地安裝目錄手動安裝首選位置,避免與系統包沖突最高符合 FHS 標準
/usr/local/libexec/docker/cli-plugins本地執行目錄(libexec 變體)備用安裝位置符合 FHS 標準
/usr/lib/docker/cli-plugins系統級庫目錄包管理器(apt/yum)自動安裝位置符合 FHS 標準
/usr/libexec/docker/cli-plugins系統執行目錄(libexec 變體)較少使用最低部分發行版特有

???? 關鍵差異詳解

  1. 路徑層級差異

    • /usr/local/ 前綴:用戶手動安裝位置(避免覆蓋系統文件)
    • /usr/ 前綴:系統級安裝位置(包管理器默認使用)
  2. 目錄類型差異

    • lib:標準庫目錄(存放共享庫和插件)
    • libexec:內部執行目錄(存放不直接執行的輔助程序)
  3. 實際使用建議

    # 最佳實踐:優先使用標準庫目錄
    sudo mkdir -p /usr/local/lib/docker/cli-plugins
    sudo curl -SL https://github.com/docker/compose/releases/download/v2.24.7/docker-compose-linux-$(uname -m) \-o /usr/local/lib/docker/cli-plugins/docker-compose
    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
    
  4. 優先級驗證
    Docker 按以下順序查找插件:

    1. ~/.docker/cli-plugins          # 用戶級目錄(最高優先級)
    2. /usr/local/lib/docker/cli-plugins
    3. /usr/local/libexec/docker/cli-plugins
    4. /usr/lib/docker/cli-plugins
    5. /usr/libexec/docker/cli-plugins # 系統級目錄(最低優先級)
    

???? 特殊場景說明

  • 容器環境:在 Docker-in-Docker 場景中,建議使用 /usr/local/lib/docker/cli-plugins
  • 多架構系統:ARM 設備(如樹莓派)優先使用 /usr/local/ 目錄
  • 安全加固系統:SELinux 環境下,/usr/libexec/ 可能有特殊權限策略

歷史背景libexec 目錄源于 Unix 傳統,用于存放不應被用戶直接執行的內部二進制文件,現代 Linux 系統中逐漸被 lib 目錄替代。Docker 保留這些路徑主要為兼容舊系統。













對比 3

以下是針對四個 Docker CLI 插件目錄的詳細對比分析:

目錄路徑系統定位適用場景權限要求優先級兼容性
/usr/local/lib/docker/cli-plugins用戶級安裝目錄手動安裝時首選位置sudo 權限★★★★☆所有 Linux 發行版
/usr/local/libexec/docker/cli-plugins系統級執行目錄特殊系統環境(較少使用)sudo 權限★★☆☆☆BSD 系系統更常見
/usr/lib/docker/cli-plugins系統級庫目錄包管理器安裝(apt/yum/dnf)包管理器自動處理★★★☆☆主流 Linux 發行版
/usr/libexec/docker/cli-plugins系統級執行目錄特殊包管理場景(如 RPM 特定安裝)包管理器自動處理★★☆☆☆RHEL/CentOS/Fedora

???? 關鍵差異解析

  1. 路徑含義差異

    • lib:通用庫目錄(推薦)
    • libexec:內部執行目錄(專用場景)
  2. 安裝方式區別

    # 手動安裝首選(用戶級)
    sudo install docker-compose /usr/local/lib/docker/cli-plugins/# 包管理器安裝(系統級)
    sudo apt install docker-compose-plugin  # 自動安裝到 /usr/lib/...
    
  3. Docker 識別優先級
    當存在多個安裝時,Docker 按此順序識別:

    1. ~/.docker/cli-plugins/         (用戶目錄)
    2. /usr/local/lib/docker/cli-plugins/ 
    3. /usr/lib/docker/cli-plugins/
    4. /usr/local/libexec/... 和 /usr/libexec/... (最后檢查)
    
  4. 最佳實踐

    • 個人開發環境:使用 ~/.docker/cli-plugins(無需 sudo)
    • 多用戶系統/usr/local/lib/docker/cli-plugins
    • 生產服務器:通過包管理器安裝到 /usr/lib/...

???? 驗證路徑配置

# 檢查 Docker 搜索路徑
docker info --format '{{range .ClientInfo.Plugins}}{{.Path}}{{"\n"}}{{end}}'# 典型輸出示例:
/home/user/.docker/cli-plugins
/usr/local/lib/docker/cli-plugins
/usr/lib/docker/cli-plugins

???? 故障排查技巧
若命令無法識別:

# 檢查所有候選路徑
ls -d /usr/local/lib*/docker/cli-plugins \/usr/lib*/docker/cli-plugins \~/.docker/cli-plugins 2>/dev/null# 臨時添加測試路徑
export DOCKER_CLI_PLUGINS_PATH="/custom/path:$DOCKER_CLI_PLUGINS_PATH"

重要提示:Docker v20.10+ 默認支持該插件架構,舊版本需升級 Docker Engine 才能使用 docker compose 命令。













對比 4

???? Docker CLI 插件目錄對比分析

???????? 目錄結構對比

目錄路徑用途說明權限要求適用場景
/usr/local/lib/docker/cli-plugins用戶級全局安裝:手動安裝的插件需要 sudo開發環境、單用戶系統
/usr/local/libexec/docker/cli-plugins系統內部執行:供 Docker 內部調用的插件需要 sudo高級用戶、特殊配置
/usr/lib/docker/cli-plugins系統級全局安裝:包管理器安裝的插件需要 sudo生產環境、多用戶系統
/usr/libexec/docker/cli-plugins系統內部執行:Docker 守護進程使用的內部插件需要 sudoDocker 系統級擴展

???? 關鍵區別解析

  1. 安裝位置層級

    • /usr/local/:用戶手動安裝位置(獨立于系統包管理器)
    • /usr/lib/:系統包管理器安裝位置(如 apt/yum)
  2. 功能定位

    • lib/:存放可直接調用的插件(如 docker-compose
    • libexec/:存放供 Docker 內部調用的輔助程序
  3. 權限管理

    # 查看目錄權限
    ls -ld /usr/*/docker/cli-plugins
    

    典型輸出:

    drwxr-xr-x 2 root root 4096 Jul 31 10:00 /usr/lib/docker/cli-plugins
    drwxr-xr-x 2 root root 4096 Jul 31 10:00 /usr/libexec/docker/cli-plugins
    

???? 安裝建議

???????? 推薦方案

  1. 個人開發環境 → 用戶目錄安裝

    mkdir -p ~/.docker/cli-plugins
    curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
    chmod +x ~/.docker/cli-plugins/docker-compose
    
  2. 生產服務器 → 系統級安裝

    sudo mkdir -p /usr/lib/docker/cli-plugins
    sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/lib/docker/cli-plugins/docker-compose
    sudo chmod +x /usr/lib/docker/cli-plugins/docker-compose
    

???????? 驗證安裝

# 檢查插件加載路徑
docker info --format '{{.ClientInfo.PluginsPath}}'# 查看已加載插件
docker compose version

最佳實踐

  • 優先使用 /usr/lib/docker/cli-plugins(兼容系統更新)
  • 避免使用 libexec 目錄(保留給 Docker 內部使用)
  • 多用戶環境需設置權限:
    sudo chmod 755 /usr/lib/docker/cli-plugins/docker-compose
    













對比 5

以下是四個 Docker CLI 插件目錄的詳細對比分析:

目錄路徑系統級別典型用途包管理器關聯權限要求推薦場景
/usr/local/lib/docker/cli-plugins系統全局管理員手動安裝的插件? 無關需要 sudo 權限手動安裝插件(推薦位置)
/usr/local/libexec/docker/cli-plugins系統全局系統內部使用的執行文件? 無關需要 sudo 權限特殊系統配置(較少使用)
/usr/lib/docker/cli-plugins系統全局包管理器安裝的插件? 關聯由包管理器管理通過 apt/yum 等包管理器安裝
/usr/libexec/docker/cli-plugins系統全局其他程序調用的后臺執行文件? 關聯由包管理器管理Docker 系統級后臺插件
$HOME/.docker/cli-plugins用戶級當前用戶專用插件? 無關用戶權限即可單用戶測試/無 root 權限環境

???? 關鍵區別說明:

  1. /usr/local/ vs /usr/

    • /usr/local/:用于手動安裝的軟件(不受系統包管理器影響)
    • /usr/:用于包管理器安裝的軟件(apt/yum/dnf 等)
  2. lib vs libexec

    • lib:存放可直接調用的庫文件和插件
    • libexec:存放其他程序內部調用的執行文件(通常用戶不直接運行)
  3. 權限要求

    # 手動安裝到系統目錄需要 sudo
    sudo curl -SL ... -o /usr/local/lib/docker/cli-plugins/docker-compose
    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose# 用戶目錄不需要特權
    curl -SL ... -o ~/.docker/cli-plugins/docker-compose
    chmod +x ~/.docker/cli-plugins/docker-compose
    
  4. 加載優先級(從高到低):

    1. $HOME/.docker/cli-plugins(用戶級)
    2. /usr/local/lib/docker/cli-plugins
    3. /usr/local/libexec/docker/cli-plugins
    4. /usr/lib/docker/cli-plugins
    5. /usr/libexec/docker/cli-plugins

???? 使用建議:

  1. 生產環境

    # 推薦使用包管理器安裝(自動維護)
    sudo apt install docker-compose-plugin  # Debian/Ubuntu
    sudo yum install docker-compose-plugin  # CentOS/RHEL
    

    這將安裝到 /usr/lib/docker/cli-plugins/

  2. 手動安裝

    # 首選位置(兼容性最好)
    sudo mkdir -p /usr/local/lib/docker/cli-plugins
    sudo curl -SL https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
    
  3. 多用戶環境

    # 避免使用 libexec 目錄
    # 可能因系統配置不同導致插件不可見
    

💡 診斷技巧:檢查 Docker 識別的插件路徑

docker info --format '{{range .ClientInfo.Plugins}}{{.Path}}{{"\n"}}{{end}}'













對比 6

以下是四個 Docker CLI 插件目錄的對比分析,幫助您理解它們的區別和適用場景:

???? 目錄對比表

目錄路徑優先級適用場景權限要求典型用途
/usr/local/lib/docker/cli-plugins系統級安裝(推薦)sudo管理員手動安裝的全局插件
/usr/local/libexec/docker/cli-plugins系統級安裝(備選)sudo兼容舊版系統的全局插件
/usr/lib/docker/cli-plugins中低發行版包管理器安裝root通過 apt/yum 安裝的官方插件
/usr/libexec/docker/cli-plugins系統內部使用rootDocker 內部組件

???? 關鍵區別詳解

  1. 安裝優先級
    Docker 按以下順序查找插件:

    ~/.docker/cli-plugins  >  /usr/local/lib/docker/cli-plugins > 其他系統目錄
    

    用戶目錄優先級最高,/usr/local/lib/ 是系統級首選

  2. 權限要求

    • usr/local/ 開頭的目錄:通常需要 sudo 權限
    • usr/lib/ 開頭的目錄:嚴格需要 root 權限
    • 用戶目錄 ~/.docker/:普通用戶權限即可
  3. 最佳實踐建議

    # 推薦安裝路徑(所有用戶可用)
    sudo mkdir -p /usr/local/lib/docker/cli-plugins
    sudo curl -L https://.../docker-compose -o /usr/local/lib/docker/cli-plugins/docker-compose
    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose# 驗證安裝
    docker compose version
    
  4. 目錄用途差異

    目錄類型說明
    lib/存放運行時庫文件(推薦手動安裝位置)
    libexec/存放系統內部執行文件(通常供后臺進程使用)
    /usr/lib/發行版維護的軟件包目錄(避免手動修改)
    ~/.docker/用戶級配置目錄(單用戶隔離安裝)

???? 故障排查技巧
若遇到命令未找到:

# 檢查插件搜索路徑
docker info --format '{{range .ClientInfo.Plugins}}{{.Path}}{{"\n"}}{{end}}'# 臨時添加新路徑
export DOCKER_CLI_PLUGINS_PATH="/custom/plugins:$DOCKER_CLI_PLUGINS_PATH"

💡 提示:現代 Docker 版本(v20.10+)優先使用 /usr/local/lib/docker/cli-plugins,這是最推薦的安裝位置。













對比 7

在 Docker 中,CLI 插件可以存放在多個目錄中,不同的目錄對應不同的使用場景和優先級。以下是這些目錄的對比和說明:


???? 1. /usr/local/lib/docker/cli-plugins

  • 作用:存放用戶或第三方手動安裝的 CLI 插件(非系統級)。
  • 優先級:較高(Docker 按目錄優先級搜索插件,找到即停止)。
  • 適用場景
    • 手動安裝的插件(例如從 GitHub 下載的二進制文件)。
    • 多用戶系統下希望全局可用的插件。
  • 權限:通常需要 sudo 寫入權限。

???? 2. /usr/local/libexec/docker/cli-plugins

  • 作用:類似 /usr/local/lib,但用于存放僅供其他程序調用的插件。
  • 優先級:與 /usr/local/lib 相同(但 Docker 不一定默認支持此路徑,需檢查文檔或系統配置)。
  • 適用場景
    • 腳本或其他工具依賴的插件。
    • 需與其他系統工具共享的插件。
  • 注意libexec 通常用于存放不直接暴露給用戶的二進制文件。

???? 3. /usr/lib/docker/cli-plugins

  • 作用:系統級插件目錄,通常由包管理器(如 aptyum)安裝的插件存放于此。
  • 優先級:中等(低于 /usr/local/lib)。
  • 適用場景
    • 通過系統包管理安裝的 Docker 插件(例如 docker-buildx)。
    • 需要與 Docker 系統版本保持兼容的插件。
  • 權限:通常由包管理器自動管理,用戶無需手動修改。

???? 4. /usr/libexec/docker/cli-plugins

  • 作用:與 /usr/lib/docker 類似,但用于存放系統內部使用的插件。
  • 優先級:與 /usr/lib 相同(可能低)。
  • 適用場景
    • Docker 自身依賴的插件或工具(如 Docker Engine 內置功能)。
    • 避免與用戶安裝的插件沖突的系統級插件。

???? 對比總結

目錄用戶場景優先級管理方式典型使用
/usr/local/lib/docker/cli-plugins用戶手動安裝插件最高手動管理自定義插件、開發測試
/usr/local/libexec/docker/cli-plugins共享插件(需腳本調用)中等手動或工具管理自動化工具依賴的插件
/usr/lib/docker/cli-plugins系統包管理器安裝的插件中等包管理器自動管理官方或倉庫提供的插件(如 docker-buildx
/usr/libexec/docker/cli-pluginsDocker 內部或系統級插件最低Docker 或系統管理引擎依賴的內部插件

???? 優先級順序
默認情況下,Docker 會按以下順序搜索插件目錄(可能因系統配置略有差異):

  1. ~/.docker/cli-plugins(用戶目錄,未列出但優先級最高)
  2. /usr/local/lib/docker/cli-plugins
  3. /usr/local/libexec/docker/cli-plugins
  4. /usr/lib/docker/cli-plugins
  5. /usr/libexec/docker/cli-plugins

???? 建議

  • 用戶自定義插件:優先放在 /usr/local/lib/docker/cli-plugins 或用戶目錄 ~/.docker/cli-plugins
  • 系統級插件:通過包管理器安裝到 /usr/lib/docker/cli-plugins
  • 調試插件沖突:檢查插件路徑優先級,確保高優先級目錄中無同名插件。

如果需要更詳細的操作系統差異或配置調整,可以提供更多上下文。

















8?? 參考 8 五個目錄的優先級對比

  1. ~/.docker/cli-plugins$HOME/.docker/cli-plugins )
  2. /usr/local/lib/docker/cli-plugins
  3. /usr/local/libexec/docker/cli-plugins
  4. /usr/lib/docker/cli-plugins
  5. /usr/libexec/docker/cli-plugins

優先級對比

優先級對比 1

Docker Compose V2 安裝目錄優先級對比

以下是按 優先級從高到低 的目錄排序(基于 Docker CLI 的插件加載規則):

優先級目錄路徑適用場景特點說明
1~/.docker/cli-plugins

$HOME/.docker/cli-plugins
用戶級安裝(推薦)? 優先級最高
? 僅對當前用戶有效
🔧 無需 root 權限
2/usr/local/lib/docker/cli-plugins系統級安裝(首選)? 符合 FHS 標準
🛡? 與系統包隔離
💻 對所有用戶有效
3/usr/local/libexec/docker/cli-plugins備選系統目錄?? 非常規位置
📦 可能被誤清理
🔍 較少使用
4/usr/lib/docker/cli-plugins包管理器專用目錄?? 易與 apt/yum 沖突
🔄 可能被系統更新覆蓋
?? 不推薦手動安裝
5/usr/libexec/docker/cli-plugins系統內部目錄🚫 最低優先級
🧩 通常存放守護進程
?? 強烈不建議使用

關鍵結論

  1. 最高優先級:用戶目錄 (~/.docker/cli-plugins) ($HOME/.docker/cli-plugins)

    • 優勢:無需 sudo,獨立配置
    • 命令示例
      mkdir -p ~/.docker/cli-plugins
      curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) -o ~/.docker/cli-plugins/docker-compose
      chmod +x ~/.docker/cli-plugins/docker-compose
      
  2. 最佳系統目錄:/usr/local/lib/docker/cli-plugins

    • 推薦場景:多用戶系統/生產環境
    • 安裝示范
      sudo mkdir -p /usr/local/lib/docker/cli-plugins
      sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose
      sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
      
  3. 避坑指南

    • ? 避免使用 /usr/lib//usr/libexec/ 開頭的目錄
      • 易導致與包管理器沖突(如 apt 安裝的 Docker)
      • 可能被系統更新意外覆蓋
    • 🔍 檢查現有安裝:
      # 查看 Compose 實際加載路徑
      docker compose version --short
      

優先級驗證原理
Docker CLI 按以下順序掃描插件目錄:

  1. $HOME/.docker/cli-plugins
  2. 全局自定義目錄(如 /usr/local/lib/docker/cli-plugins
  3. Docker 內置目錄(如 /usr/lib/docker/cli-plugins
    找到第一個有效插件后立即停止搜索













優先級對比 2

以下是 Docker Compose CLI 插件搜索路徑的優先級詳細對比分析,按優先級從高到低排序:

???? 優先級排序(1 → 5 優先級遞減)

優先級路徑搜索順序適用場景權限要求
1~/.docker/cli-plugins

$HOME/.docker/cli-plugins
最先用戶級安裝
? 無需 root 權限
? 僅影響當前用戶
用戶級權限
2/usr/local/lib/docker/cli-plugins次之系統級手動安裝首選
? 全局可用
? 不干擾系統包管理
需 sudo 權限
3/usr/local/libexec/docker/cli-plugins第三備選系統路徑
? 較少使用
? 兼容舊系統
需 sudo 權限
4/usr/lib/docker/cli-plugins第四包管理器默認路徑
? apt/yum 安裝位置
? 可能被系統更新覆蓋
包管理器管理
5/usr/libexec/docker/cli-plugins最后特殊系統路徑
? 極少使用
? 某些發行版保留目錄
需 sudo 權限

???? 關鍵特性對比

特性~/.docker/usr/local/lib/usr/local/libexec/usr/lib/usr/libexec
多用戶隔離? 獨立? 全局? 全局? 全局? 全局
系統更新安全性? 不受影響? 不受影響? 不受影響?? 可能被覆蓋? 不受影響
容器環境兼容性? 最佳? 良好?? 一般?? 可能有沖突? 差
權限要求用戶級sudosudo包管理器sudo
版本控制靈活性? 可自由切換? 可自由切換? 可自由切換? 依賴包管理? 可自由切換

???? 實際使用場景推薦

  1. 開發環境首選~/.docker/cli-plugins

    # 無需sudo,安全隔離
    mkdir -p ~/.docker/cli-plugins
    curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) \-o ~/.docker/cli-plugins/docker-compose
    chmod +x ~/.docker/cli-plugins/docker-compose
    
  2. 生產環境推薦/usr/local/lib/docker/cli-plugins

    # 全局可用,避免用戶隔離問題
    sudo mkdir -p /usr/local/lib/docker/cli-plugins
    sudo curl -SL [下載鏈接] -o /usr/local/lib/docker/cli-plugins/docker-compose
    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
    
  3. 應避免的路徑/usr/lib*/docker/cli-plugins

    • 易與包管理器沖突
    • 可能被系統更新意外覆蓋

???? 優先級驗證方法

# 創建測試插件
echo -e '#!/bin/sh\necho "Plugin from: $0"' > docker-testplugin# 在所有路徑放置同名文件
cp docker-testplugin ~/.docker/cli-plugins/
sudo cp docker-testplugin /usr/local/lib/docker/cli-plugins/
sudo cp docker-testplugin /usr/local/libexec/docker/cli-plugins/
sudo cp docker-testplugin /usr/lib/docker/cli-plugins/
sudo cp docker-testplugin /usr/libexec/docker/cli-plugins/# 添加執行權限
chmod +x ~/.docker/cli-plugins/*
sudo chmod +x /usr/*/docker/cli-plugins/*# 運行測試(顯示最高優先級路徑)
docker testplugin
# 輸出: Plugin from: /home/youruser/.docker/cli-plugins/docker-testplugin

故障排查提示:當命令不生效時,使用 which -a docker-compose 檢查是否存在舊版 v1 沖突,或使用 strace -e file docker compose version 2>&1 | grep cli-plugins 查看實際加載路徑。













優先級對比 3

Docker Compose V2 安裝目錄優先級詳解(從高到低)

???? 優先級順序表

排名目錄路徑類型權限要求特點推薦指數
1~/.docker/cli-plugins

$HOME/.docker/cli-plugins
用戶級無需sudo? 最高優先級
🔐 僅影響當前用戶
💻 開發環境首選
?????
2/usr/local/lib/docker/cli-plugins系統級需sudo🏆 最佳系統目錄
📦 符合FHS標準
🛡? 與系統包隔離
????☆
3/usr/local/libexec/docker/cli-plugins系統級需sudo?? 次選系統目錄
📁 較少使用
🔧 特殊場景備用
???☆☆
4/usr/lib/docker/cli-plugins系統級需sudo? 易沖突
🔄 可能被apt/yum覆蓋
? 不推薦手動安裝
??☆☆☆
5/usr/libexec/docker/cli-plugins系統級需sudo🚫 最低優先級
🧩 系統守護進程目錄
?? 強烈不建議使用
?☆☆☆☆

關鍵機制解析

  1. 搜索順序原理
    Docker CLI 按以下順序掃描插件目錄:

    用戶目錄
    /usr/local/lib
    /usr/local/libexec
    /usr/lib
    /usr/libexec
    • 找到即停:發現有效插件后立即終止搜索
    • 權限優先:用戶級目錄 > 系統級目錄
  2. 目錄特性對比

    特性用戶目錄/usr/local/lib/usr/lib
    多用戶共享? 僅當前用戶? 所有用戶? 所有用戶
    系統更新影響🔒 不受影響🔒 不受影響?? 可能被覆蓋
    包管理器沖突風險🟢 無風險🟢 無風險🔴 高風險
    FHS標準符合性? 符合? 符合?? 系統保留目錄

最佳實踐指南
???? 場景1:個人開發環境

# 首選用戶級安裝(無需sudo)
mkdir -p ~/.docker/cli-plugins
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose

???? 場景2:生產服務器/多用戶系統

# 使用最佳系統目錄
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

???? 應避免的目錄

# 危險示例(可能導致系統沖突)
sudo curl ... -o /usr/lib/docker/cli-plugins/docker-compose  # ?
sudo curl ... -o /usr/libexec/docker/cli-plugins/docker-compose  # ?

優先級驗證方法

# 1. 檢查實際加載的插件路徑
docker compose version --short# 2. 查看Docker的插件搜索路徑
docker info --format '{{range .ClientInfo.Plugins}}{{.Path}}{{"\n"}}{{end}}'# 3. 檢測目錄存在性(按優先級順序)
ls -d ~/.docker/cli-plugins \/usr/local/lib/docker/cli-plugins \/usr/local/libexec/docker/cli-plugins \/usr/lib/docker/cli-plugins \/usr/libexec/docker/cli-plugins 2>/dev/null

關鍵結論
用戶級目錄 (~/.docker/cli-plugins) 和系統級目錄 (/usr/local/lib/docker/cli-plugins) 是唯二推薦的選擇,其他目錄存在兼容性風險或違反Linux目錄規范。













優先級對比 4

以下是 Docker CLI 插件目錄優先級的專業對比說明,按照從高到低的順序排列(1為最高優先級):

???? 優先級排序(數字越小優先級越高)

優先級目錄路徑類型適用場景檢查順序
1~/.docker/cli-plugins

$HOME/.docker/cli-plugins
用戶級開發者個人環境,無需sudo權限最先檢查
2/usr/local/lib/docker/cli-plugins系統級管理員手動安裝首選位置次之
3/usr/local/libexec/docker/cli-plugins系統級BSD系統或特殊環境第三
4/usr/lib/docker/cli-plugins系統級包管理器安裝位置(apt/yum/dnf)第四
5/usr/libexec/docker/cli-plugins系統級RPM系發行版專用位置最后檢查

???? 關鍵差異分析

  1. 用戶級 vs 系統級

    • ~/.docker/cli-plugins 優先級最高,因為:
      # 無需sudo即可安裝
      curl -o ~/.docker/cli-plugins/docker-compose ...
      chmod +x ~/.docker/cli-plugins/docker-compose
      
    • 其他目錄需要root權限
  2. 手動安裝 vs 包管理安裝

    • /usr/local/...(手動安裝)優先級高于 /usr/...(包管理安裝)
    • 示例:手動安裝覆蓋包管理版本
      sudo install docker-compose /usr/local/lib/docker/cli-plugins/  # 優先級高于apt安裝版本
      
  3. lib vs libexec

    • 同級別下 lib 優先于 libexec
    • /usr/local/lib > /usr/local/libexec
    • /usr/lib > /usr/libexec

???? 優先級驗證方法

# 1. 創建測試插件
cat <<'EOF' > docker-test
#!/bin/sh
echo "Active plugin from: $0"
EOF
chmod +x docker-test# 2. 在所有目錄安裝同名插件
install_paths=("$HOME/.docker/cli-plugins""/usr/local/lib/docker/cli-plugins""/usr/local/libexec/docker/cli-plugins""/usr/lib/docker/cli-plugins""/usr/libexec/docker/cli-plugins"
)for path in "${install_paths[@]}"; dosudo mkdir -p "$path"sudo cp docker-test "$path/docker-test"  # 需要sudo權限
done# 3. 執行測試(顯示最高優先級路徑)
docker test
# 輸出:Active plugin from: /home/yourname/.docker/cli-plugins/docker-test# 4. 刪除用戶級插件后重試
rm ~/.docker/cli-plugins/docker-test
docker test
# 輸出:Active plugin from: /usr/local/lib/docker/cli-plugins/docker-test

???? 特殊規則

  1. 環境變量覆蓋

    # 設置自定義路徑(最高優先級)
    export DOCKER_CLI_PLUGINS_PATH="/custom/plugins:/other/plugins"
    docker test  # 只檢查指定路徑
    
  2. 同目錄多版本處理

    • 同一目錄內按文件名排序取第一個
    • 避免在多個目錄安裝同名插件
  3. 網絡插件優先級

    • 本地插件 > 網絡插件(Docker Hub下載的插件)

???? 最佳實踐建議

  1. 開發環境

    # 用戶級安裝(推薦)
    mkdir -p ~/.docker/cli-plugins
    curl -L https://.../docker-compose -o ~/.docker/cli-plugins/docker-compose
    chmod +x ~/.docker/cli-plugins/docker-compose
    
  2. 生產環境

    # 系統級安裝(選擇優先級2的目錄)
    sudo curl -L https://.../docker-compose -o /usr/local/lib/docker/cli-plugins/docker-compose
    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
    
  3. 故障排查

    # 檢查插件搜索路徑
    docker info --format '{{range .ClientInfo.Plugins}}{{.Path}}{{"\n"}}{{end}}'# 檢查插件是否存在
    which -a docker-compose  # 顯示所有路徑
    













優先級對比 5

???? Docker CLI 插件目錄優先級詳解

???????? 優先級從高到低排序:

優先級目錄路徑用戶影響范圍典型使用場景權限要求
1~/.docker/cli-plugins

$HOME/.docker/cli-plugins
單用戶用戶專屬插件/測試版本用戶權限
2/usr/local/lib/docker/cli-plugins所有用戶管理員手動安裝的共享插件sudo
3/usr/local/libexec/docker/cli-plugins所有用戶Docker內部組件/特殊用途插件sudo
4/usr/lib/docker/cli-plugins所有用戶系統包管理器(apt/yum)安裝的插件sudo
5/usr/libexec/docker/cli-plugins所有用戶Docker守護進程專用插件sudo

???? 關鍵特性對比

???????? 1. 加載順序機制

# 查看實際加載順序
docker info --format '{{range .ClientInfo.PluginsPaths}}{{.}}{{"\n"}}{{end}}'# 典型輸出(按優先級降序):
/home/yourname/.docker/cli-plugins
/usr/local/lib/docker/cli-plugins
/usr/local/libexec/docker/cli-plugins
/usr/lib/docker/cli-plugins
/usr/libexec/docker/cli-plugins

???????? 2. 同名插件沖突解決

  • 當多個目錄存在同名插件時:
    • 用戶級優先~/.docker/cli-plugins 中的插件始終優先執行
    • 同級別順序:系統級目錄按文件系統枚舉順序(通常字典序)

???????? 3. 目錄用途差異

目錄類型典型內容修改頻率
~/.docker/用戶自定義插件、開發測試版本
/usr/local/手動安裝的生產插件
/usr/lib/系統包管理器維護的穩定版本
*/libexec/Docker內部組件(如buildx)極低

???? 最佳實踐指南

???????? 個人開發環境

# 用戶級安裝 (優先級最高)
mkdir -p ~/.docker/cli-plugins
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 \-o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose

???????? 多用戶生產服務器

# 系統級安裝 (推薦)
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 \-o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

???????? 特殊場景說明

  1. 覆蓋系統插件

    # 在用戶目錄放置同名插件可覆蓋系統級插件
    cp custom-compose ~/.docker/cli-plugins/docker-compose
    
  2. 診斷插件沖突

    # 檢查實際加載的插件路徑
    which -a docker-compose | xargs ls -l# 查看Docker識別的插件路徑
    docker compose version --short
    
  3. libexec目錄警告

    • 避免手動修改 */libexec/ 目錄
    • Docker會自動管理這些目錄的內容
    • 手動放置文件可能導致版本沖突

優先級黃金法則
用戶級(~/.docker) > 手動安裝(/usr/local) > 系統包管理(/usr/lib) > 內部目錄(libexec)
生產環境推薦使用/usr/local/lib/docker/cli-plugins平衡控制力和可維護性。













優先級對比 6

以下是 Docker CLI 插件目錄的優先級詳細對比(從高到低),包含技術原理和使用場景分析:

???? 優先級完整排序(1 → 5 從高到低)

序號路徑優先級技術原理典型使用場景權限要求持久性
1~/.docker/cli-plugins

$HOME/.docker/cli-plugins
★★★★★最先檢查用戶空間路徑,覆蓋所有系統級插件個人開發環境、無 root 權限操作用戶權限用戶持久
2/usr/local/lib/docker/cli-plugins★★★★☆手動安裝首選位置,避免與包管理器沖突生產服務器手動安裝需要 sudo系統更新保留
3/usr/local/libexec/docker/cli-plugins★★★☆☆傳統 Unix 的 “libexec” 目錄,存放輔助執行文件特殊系統配置需要 sudo系統更新保留
4/usr/lib/docker/cli-plugins★★☆☆☆包管理器標準安裝路徑(apt/yum/dnf)通過系統包安裝包管理器包更新時替換
5/usr/libexec/docker/cli-plugins★☆☆☆☆系統級后臺執行目錄,通常存放服務型插件Docker 系統服務插件包管理器包更新時替換

???? 技術細節對比

???????? 1. 加載機制

// Docker 源碼中的加載順序 (moby/cli/cli-plugins/plugin/plugin.go)
var pluginPaths = []string{filepath.Join(configDir, "cli-plugins"),             // ~/.docker/cli-plugins"/usr/local/lib/docker/cli-plugins",                // 手動安裝"/usr/local/libexec/docker/cli-plugins",            // 傳統 Unix"/usr/lib/docker/cli-plugins",                      // 包管理器"/usr/libexec/docker/cli-plugins",                  // 系統服務
}

查找規則:按順序掃描,找到第一個匹配插件后立即終止搜索。

???????? 2. 路徑驗證命令

# 查看實際加載的插件路徑
docker info --format '{{json .ClientInfo.Plugins}}' | jq '.[].Path'# 測試優先級(創建同名測試插件)
echo -e '#!/bin/sh\necho "Active plugin: $0"' > ~/.docker/cli-plugins/docker-test
sudo cp ~/.docker/cli-plugins/docker-test /usr/local/lib/docker/cli-plugins/
sudo cp ~/.docker/cli-plugins/docker-test /usr/lib/docker/cli-plugins/# 執行測試(只會顯示最高優先級的路徑)
docker test
# 輸出: Active plugin: /home/user/.docker/cli-plugins/docker-test

???????? 3. 文件系統標準

路徑符合標準說明
~/.docker/cli-pluginsXDG Base Directory遵循 Linux 用戶配置標準
/usr/local/...FHS (Filesystem Hierarchy Standard)本地管理員安裝位置
/usr/lib/...FHS發行版包管理器標準位置
.../libexec/...FHS內部執行文件專用目錄

???? 使用場景推薦

???????? 優先使用場景

# 1. 個人開發環境(最高優先級)
curl -sSL https://.../compose -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose# 2. 多用戶服務器(共享安裝)
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -sSL https://.../compose -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

???????? 避免使用場景

# 不推薦使用 libexec 目錄(易被忽略)
sudo curl ... -o /usr/libexec/docker/cli-plugins/docker-compose  # ?# 包管理器目錄可能被覆蓋
sudo apt install docker-compose-plugin  # 會覆蓋 /usr/lib/docker/cli-plugins 的內容

???? 特殊場景處理

???????? 覆蓋系統插件

# 在用戶目錄放置同名插件覆蓋系統版本
cp new-compose ~/.docker/cli-plugins/docker-compose

???????? 禁用插件

# 臨時禁用
mv ~/.docker/cli-plugins/docker-compose{,.bak}# 永久移除
rm ~/.docker/cli-plugins/docker-compose

???????? 診斷插件沖突

# 查找所有位置的插件
find ~/.docker /usr/local/lib /usr/lib -path '*/cli-plugins/docker-compose' 2>/dev/null# 輸出示例:
# /home/user/.docker/cli-plugins/docker-compose
# /usr/local/lib/docker/cli-plugins/docker-compose
# /usr/lib/docker/cli-plugins/docker-compose

💡 經驗法則

  1. 個人使用 → ~/.docker/cli-plugins
  2. 服務器共享 → /usr/local/lib/docker/cli-plugins
  3. 避免手動修改 /usr/lib*/usr/libexec* 目錄
  4. 優先級設計確保用戶控制權高于系統配置













優先級對比 7

以下是 Docker CLI 插件目錄的優先級完整對比說明(從高到低):

???? 優先級排序(數字越小優先級越高)

優先級目錄路徑訪問權限典型用途推薦指數
1~/.docker/cli-plugins用戶級用戶專屬插件、測試版????
2/usr/local/lib/docker/cli-plugins系統級最佳手動安裝位置?????
3/usr/local/libexec/docker/cli-plugins系統級兼容性備選路徑??
4/usr/lib/docker/cli-plugins系統級發行版包管理器安裝位置???
5/usr/libexec/docker/cli-plugins系統級Docker 內部組件?

???? 關鍵特性對比

特性~/.docker/cli-plugins/usr/local/lib/…/usr/lib/…
是否需要 sudo? 否? 是? 是
多用戶共享? 僅當前用戶? 所有用戶? 所有用戶
系統更新影響🔒 不受影響?? 可能被覆蓋?? 包管理器更新可能覆蓋
卸載便捷性🧹 刪除目錄即可🔍 需手動刪除文件📦 需包管理器卸載
版本控制靈活性💫 可多版本共存?? 單版本?? 單版本

???? 實際搜索機制
Docker CLI 按此順序查找插件:

# 偽代碼表示搜索邏輯
for path in [os.expanduser("~/.docker/cli-plugins"),"/usr/local/lib/docker/cli-plugins","/usr/local/libexec/docker/cli-plugins","/usr/lib/docker/cli-plugins","/usr/libexec/docker/cli-plugins"
]:if plugin_exists_in(path):return plugin_from(path)  # 使用第一個找到的版本

???? 最佳實踐指南

???????? 推薦安裝方式

# 系統級安裝 (所有用戶可用)
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -L https://.../docker-compose -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose# 用戶級安裝 (僅當前用戶)
mkdir -p ~/.docker/cli-plugins
curl -L https://.../docker-compose -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose

???????? 沖突解決方案
當同名插件存在多個位置時:

  1. 查看實際加載的插件:
    docker compose --debug 2>&1 | grep "Loading plugin"
    
  2. 臨時繞過優先級:
    # 強制使用特定路徑的插件
    DOCKER_CLI_PLUGINS_PATH=/custom/path docker compose version
    
  3. 禁用低優先級插件:
    sudo mv /usr/lib/docker/cli-plugins/docker-compose{,.bak}
    

💡 終極提示
生產環境始終選擇 /usr/local/lib/docker/cli-plugins
這是 Docker 官方推薦路徑,平衡了可維護性(/usr/lib/)和靈活性(~/.docker/)的最佳位置。



























本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91307.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91307.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91307.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PHP 5.5 Action Management with Parameters (English Version)

PHP 5.5 Action Management with Parameters (English Version) Here’s a PHP 5.5 compatible script that uses URL parameters instead of paths for all operations: <?php // Start session for persistent storage session_start();// Initialize the stored actio…

GR-3(4B) 技術報告--2025.7.23--字節跳動 Seed

0. 前言 前兩天字節發布了GR-3&#xff0c;粗略的看了一下&#xff0c;在某些方面超過了SOTA pi0&#xff0c;雖然不開源&#xff0c;但是也可以來看一看。 官方項目頁 1. GR-3模型 1.1 背景 在機器人研究領域&#xff0c;一直以來的目標就是打造能夠幫助人類完成日常任務…

Linux網絡編程:UDP 的echo server

目錄 前言&#xff1a; 一、服務端的實現 1、創建socket套接字 2、綁定地址信息 3、執行啟動程序 二、用戶端的實現 總結&#xff1a; 前言&#xff1a; 大家好啊&#xff0c;前面我們介紹了一些在網絡編程中的一些基本的概念知識。 今天我們就借著上節課提到的&#…

AI+金融,如何跨越大模型和場景鴻溝?

文&#xff5c;白 鴿編&#xff5c;王一粟當AI大模型已開始走向千行百業之時&#xff0c;備受看好的金融行業&#xff0c;卻似乎陷入了落地瓶頸。打開手機銀行想查下貸款額度&#xff0c;對著屏幕說了半天&#xff0c;AI客服卻只回復 “請點擊首頁貸款按鈕”&#xff1b;客戶經…

深度解析:從零構建跨平臺對象樹管理系統(YongYong框架——QT對象樹機制的現代化替代方案)

一、技術背景與核心價值 1.1 QT對象樹的局限性 在Qt框架中&#xff0c;QObject通過對象樹機制實現了革命性的對象管理&#xff1a; #mermaid-svg-SvqKmpFjg76R02oL {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Sv…

力扣46:全排列

力扣46:全排列題目思路代碼題目 給定一個不含重復數字的數組 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 思路 看到所有可能首先想到的就是回溯。 回溯的結束條件也很好寫&#xff0c;用數組的長度來判斷即可。這道題的難點主要是如何進行判…

mac環境配置rust

rustup 是一個命令行工具&#xff0c;用于管理 Rust 編譯器和相關工具鏈 sh 體驗AI代碼助手 代碼解讀復制代碼curl --proto ‘https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh使得 Rust 的安裝在當前 shell 環境中生效 如果你使用的是 bash, zsh 或其他類似的 shell&#xf…

腳手架搭建React項目

腳手架搭建項目 1. 認識腳手架工具 1.1. 前端工程的復雜化 1.1.1. 如果只是開發幾個小的demo程序&#xff0c;那么永遠不要考慮一些復雜的問題&#xff1a; 比如目錄結構如何組織劃分&#xff1b;比如如何關鍵文件之間的相互依賴&#xff1b;比如管理第三方模塊的依賴&#xff…

Golang 調試技巧:在 Goland 中查看 Beego 控制器接收的前端字段參數

&#x1f41b; Golang 調試技巧&#xff1a;在 Goland 中查看 Beego 控制器接收的前端字段參數 在使用 Beego 開發 Web 項目時&#xff0c;我們常常會在控制器中通過 c.GetString()、c.GetInt() 等方法獲取前端頁面傳過來的字段值。而在調試過程中&#xff0c;如何在 Goland 中…

sqli-labs:Less-2關卡詳細解析

1. 思路&#x1f680; 本關的SQL語句為&#xff1a; $sql"SELECT * FROM users WHERE id$id LIMIT 0,1";注入類型&#xff1a;數值型提示&#xff1a;參數id無需考慮閉合問題&#xff0c;相對簡單 2. 手工注入步驟&#x1f3af; 我的地址欄是&#xff1a;http://l…

TRAE 軟件使用攻略

摘要TRAE 是一款集成了人工智能技術的開發工具&#xff0c;旨在為開發者提供高效、智能的編程體驗。它包括三個主要組件&#xff1a;TRAE IDE、TRAE SOLO 和 TRAE 插件。無論是編程新手還是經驗豐富的開發者&#xff0c;都可以通過 TRAE 提高工作效率和代碼質量。標題一&#x…

將開發的軟件安裝到手機:環境配置、android studio設置、命令行操作

將開發的軟件安裝到手機環境配置android studio4.1.2安裝命令行操作環境配置 注意&#xff1a;所有的工具的版本都需要根據當下自己的軟件需要的。 Node&#xff1a;14.16.0 &#xff08;如果安裝了npm&#xff0c;可以使用npm進行當前使用node版本的更改&#xff09; &#x…

Jmeter 命令行壓測、HTML 報告、Jenkins 配置目錄

Jmeter 命令行壓測 & 生成 HTML 測試報告 通常 Jmeter 的 GUI 模式僅用于調試&#xff0c;在實際的壓測項目中&#xff0c;為了讓壓測機有更好的性能&#xff0c;多用 Jmeter 命令行來進行壓測。 官方&#xff1a;Jmeter 最佳實踐 同時&#xff0c;JMeter 也支持生成 HT…

記錄幾個SystemVerilog的語法——覆蓋率

1. 前言 通常說的覆蓋率有兩種類型&#xff1a;code coverage(代碼覆蓋率)和functional coverage(功能覆蓋率)。代碼覆蓋率是使用EDA工具自動從設計代碼里提取出來的&#xff0c;功能覆蓋率是用戶指定的&#xff0c;用于衡量測試設計意圖和功能進展。因此&#xff0c;功能覆蓋…

深度學習基礎—2

第一章、參數初始化 我們在構建網絡之后&#xff0c;網絡中的參數是需要初始化的。我們需要初始化的參數主要有權重和偏置&#xff0c;偏重一般初始化為 0 即可&#xff0c;而對權重的初始化則會更加重要&#xff0c;我們介紹在 PyTorch 中為神經網絡進行初始化的方法。 1.1 常…

PyTorch深度學習快速入門學習總結(三)

現有網絡模型的使用與調整 VGG — Torchvision 0.22 documentation VGG 模型是由牛津大學牛津大學&#xff08;Oxford University&#xff09;的 Visual Geometry Group 于 2014 年提出的卷積神經網絡模型&#xff0c;在 ImageNet 圖像分類挑戰賽中表現優異&#xff0c;以其簡…

是否需要買一個fpga開發板?

糾結要不要買個 FPGA 開發板&#xff1f;真心建議搞一塊&#xff0c;尤其是想在數字電路、嵌入式領域扎根的同學&#xff0c;這玩意兒可不是可有可無的擺設。入門級的選擇不少&#xff0c;全新的像 Cyclone IV、Artix 7 系列&#xff0c;幾百塊就能拿下&#xff0c;要是去二手平…

【模型細節】MHSA:多頭自注意力 (Multi-head Self Attention) 詳細解釋,使用 PyTorch代碼示例說明

MHSA:使用 PyTorch 實現的多頭自注意力 (Multi-head Self Attention) 代碼示例&#xff0c;包含詳細注釋說明&#xff1a;線性投影 通過三個線性層分別生成查詢(Q)、鍵(K)、值(V)矩陣&#xff1a; QWq?x,KWk?x,VWv?xQ W_qx, \quad K W_kx, \quad V W_vxQWq??x,KWk??x…

PGSQL運維優化:提升vacuum執行時間觀測能力

本文是 IvorySQL 2025 生態大會暨 PostgreSQL 高峰論壇上的演講內容&#xff0c;作者&#xff1a;NKYoung。 6 月底濟南召開的 HOW2025 IvorySQL 生態大會上&#xff0c;我在內核論壇分享了“提升 vacuum 時間觀測能力”的主題&#xff0c;提出了新增統計信息的方法&#xff0c…