❓ 什么是 docker-compose

docker-compose 是一个 用于定义和运行多容器 Docker 应用的工具,它通过 docker-compose.yml 文件 来管理多个容器的启动、停止、配置等。

  • Docker:用于管理 单个容器
  • Docker Compose:用于管理 多个容器组成的应用(如 Web + MySQL + Redis)。

✅ 解决方法:安装 docker-compose

方法 1:安装 Docker 官方推荐的 docker-compose(推荐)

Docker 官方现在推荐 直接安装 docker-compose-plugin(Docker 20.10+ 内置支持),或者单独安装 docker-compose


📌 方法 1A:安装 docker-compose-plugin(Docker 20.10+ 推荐)

如果你已经安装了 Docker 20.10 或更高版本,可以 直接安装 docker-compose-plugin(官方推荐方式)。

1. 检查 Docker 版本

docker --version
  • 如果版本 ≥ 20.10,可以安装 docker-compose-plugin

2. 安装 docker-compose-plugin

sudo yum install -y docker-compose-plugin

📌 适用于 CentOS / RHEL / Fedora(使用 yum

或者(Ubuntu/Debian 使用 apt

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

3. 检查是否安装成功

docker compose version

⚠️ 注意: 不是 docker-compose,而是 docker compose(中间有空格)

如果看到类似 Docker Compose version v2.x.x,说明 安装成功!

4. 使用方式

  • 旧方式(docker-compose → 现在 推荐用 docker compose(无 -
docker compose up -d
  • 如果你仍然想用 docker-compose 命令(旧方式),可以 创建软链接(见方法 2)。

📌 方法 1B:单独安装 docker-compose(旧方式,适用于所有 Docker 版本)

如果你 不想用 docker compose(官方插件方式),或者 Docker 版本较旧,可以 单独安装 docker-compose

1. 下载最新版 docker-compose(Linux x86_64)

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

📌 这会下载最新版的 docker-compose 并放到 /usr/local/bin/

2. 赋予执行权限

sudo chmod +x /usr/local/bin/docker-compose

3. 检查是否安装成功

docker-compose --version

如果看到类似:

Docker Compose version v2.x.x

说明 安装成功!

4. 如果 /usr/local/bin 不在 PATH

如果运行 docker-compose 仍然报错 command not found,可能是 /usr/local/bin 不在 PATH 环境变量里。

检查 PATH

echo $PATH

如果 /usr/local/bin 不在里面,可以 临时添加

export PATH=$PATH:/usr/local/bin

或者永久生效(推荐)

echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.bashrc

📌 方法 2:创建 docker-compose 软链接(兼容旧命令)

如果你 安装了 docker-compose-plugin(官方推荐方式),但仍然想用 docker-compose(旧命令),可以 创建软链接

sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose

📌 适用于 Docker 20.10+ 安装了 docker-compose-plugin 的情况

然后检查:

docker-compose --version

如果成功,说明 docker-compose 命令可用


📥 方法 3:使用 pip 安装(不推荐,仅备用)

如果你 无法用上述方法安装,可以尝试用 Python 的 pip 安装:

sudo pip install docker-compose

⚠️ 不推荐,因为:

  • 可能和系统 Python 冲突
  • 官方推荐用 Docker 官方方式docker-compose-plugin 或直接下载二进制)

✅ 总结

方法

适用情况

命令

📌 方法 1A(推荐)

Docker 20.10+,使用官方 docker-compose-plugin

sudo yum install -y docker-compose-plugindocker compose version

📌 方法 1B

单独安装 docker-compose(旧方式)

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose

docker-compose --version

📌 方法 2

兼容旧 docker-compose 命令(适用于 Docker 20.10+)

sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose

📌 方法 3(备用)

pip 安装(不推荐)

sudo pip install docker-compose


🚀 最终推荐

如果你的 Docker 版本 ≥ 20.10,推荐使用官方方式:

sudo yum install -y docker-compose-plugin  # CentOS/RHEL
docker compose version  # 使用 `docker compose`(中间有空格)

如果你的 Docker 版本较旧,或者想用 docker-compose 命令,可以单独安装:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

📌 检查是否成功

docker compose version   # 官方推荐方式(Docker 20.10+)

docker-compose --version # 旧方式

如果看到版本号,说明 docker-compose 安装成功! 🎉

现在你可以用 docker-composedocker compose 管理多容器应用了! 😊