Docker Compose 两种安装与使用方案(适用于 Docker 19.03 版本)

 更新时间:2026年01月08日 09:57:43   作者:牛奔  
本文以Docker 19.03.15(Ubuntu 20.04)为例,详细对比这两种方式的安装、使用和特点,帮助你快速选择适合自己的方案,感兴趣的朋友跟随小编一起看看吧

前言

在实际运维中,我们经常会遇到不同机器上 Docker 版本不一致的情况,尤其是很多生产服务器还在运行较老的 Docker Engine 版本(如 19.03.x)。这时候安装 Docker Compose 就会有两种完全不同的方式:

  • 方式一:独立二进制版(docker-compose,带连字符) —— 经典的 Compose V1
  • 方式二:CLI 插件版(docker compose,无连字符) —— 现代的 Compose V2/V5

本文以 Docker 19.03.15(Ubuntu 20.04)为例,详细对比这两种方式的安装、使用和特点,帮助你快速选择适合自己的方案。

1. 方式一:独立二进制版(docker-compose)

这是最传统、最兼容的方式,适用于所有 Docker 版本(甚至非常老的版本)。

安装步骤

# 下载 Compose V1 最后一个稳定版(1.29.2)
sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/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 1.29.2, build 5becea4c

特点

  • 命令:docker-compose up -ddocker-compose --env-file .env up -d
  • 完全独立于 Docker Engine,不依赖任何插件机制
  • 支持 --env-file 多文件加载(你的需求完全满足)
  • docker info 中不会显示 compose 插件信息
  • 已被官方标记为“维护模式”(不再新增功能,但仍可正常使用)

优点

  • 兼容性极强,几乎能在任何 Docker 版本上运行
  • 安装简单、一行命令搞定
  • 不需要升级 Docker Engine

缺点

  • 命令带连字符(与新版不统一)
  • 缺少 Compose V2 的新特性(如更好的 profiles、build secrets 支持)

2. 方式二:CLI 插件版(docker compose)

这是 Docker 官方目前推荐的方式,Compose 作为 Docker CLI 的插件存在。

安装步骤(适用于 Docker 19.03+)

# 创建用户级插件目录(推荐)
mkdir -p ~/.docker/cli-plugins
# 下载最新 Compose V2(当前推荐 v5.0.1,文件较大约60MB)
curl -SL https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
# 如果下载慢,可加国内代理
# curl -SL https://ghfast.top//https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
# 添加执行权限
chmod +x ~/.docker/cli-plugins/docker-compose
# 验证
docker compose version
# 输出:Docker Compose version v5.0.1
docker info | grep -i compose
# 输出:compose: Docker Compose (Docker Inc., v5.0.1)

特点

  • 命令:docker compose up -ddocker compose --env-file .env --env-file .env.other up -d
  • 完全集成到 Docker CLI 中
  • docker info 会明确显示 compose 插件信息(和其他机器一致)
  • 支持所有新版 Compose 特性

优点

  • 命令风格统一(docker compose、docker buildx 等)
  • 获得最新功能和安全更新
  • 官方主力维护方向

缺点

  • 二进制文件较大(60MB vs V1 的 12MB)
  • 手动安装稍复杂(需放到正确插件目录)
  • 如果 Docker 版本过老(如 <19.03),可能不被识别

对比总结表

项目方式一(V1 独立版)方式二(V2 插件版)
命令docker-compose(带-)docker compose(空格)
安装难度极简单稍复杂(需放插件目录)
文件大小~12MB~60MB
docker info 显示插件不显示显示 compose 插件版本
是否支持 --env-file支持(多文件)支持(多文件)
兼容 Docker 19.03完美完美
官方维护状态维护模式(不再更新)积极维护(持续更新)
推荐场景快速解决、不想升级 Docker 的老服务器追求统一体验、愿意接受新版本的团队

结论与建议

  • 如果你只想快速解决问题:强烈推荐方式一(独立二进制版)。一行命令安装,几秒钟搞定,功能完全够用。
  • 如果你追求和团队其他机器统一体验(docker info 显示插件、命令无连字符):使用方式二(插件版),效果和其他新机器完全一致。
  • 长期建议:找机会升级 Docker Engine 到最新版(28.x+),通过 apt install docker-compose-plugin 一键安装插件,彻底告别手动操作。

到此这篇关于Docker Compose 两种安装与使用方案(适用于 Docker 19.03 版本)的文章就介绍到这了,更多相关Docker Compose 安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker容器动态加载挂载目录的实践

    Docker容器动态加载挂载目录的实践

    本文主要介绍了Docker容器中动态加载挂载目录的实践,通过挂载目录,可以将主机上的文件或目录与容器中的文件或目录进行关联,实现应用程序的灵活性和可扩展性,这种方法可以避免容器重启,减少应用程序的停机时间,并简化应用程序的部署和管理,使应用程序的迁移和扩展更加容易
    2024-10-10
  • Docker入门教程之本地打包docker镜像教程

    Docker入门教程之本地打包docker镜像教程

    Docker镜像是一个特殊的文件系统,既提供了运行时所需的程序、库和资源,还提供了相应的配置参数,只是不包含动态数据,下面这篇文章主要给大家介绍了关于Docker入门教程之本地打包docker镜像的相关资料,需要的朋友可以参考下
    2023-06-06
  • 在docker容器中运行flask应用过程

    在docker容器中运行flask应用过程

    这篇文章主要介绍了在docker容器中运行flask应用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • docker部署gitlab以及修改初始密码方式

    docker部署gitlab以及修改初始密码方式

    这篇文章主要介绍了docker部署gitlab以及修改初始密码方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Docker 安装 MySQL(8和5.7)

    Docker 安装 MySQL(8和5.7)

    这篇文章主要介绍了Docker 安装 MySQL(8和5.7),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 使用Docker容器运行Mysql实战记录

    使用Docker容器运行Mysql实战记录

    这篇文章主要给大家介绍了关于使用Docker容器运行Mysql的相关资料,助大家更好的理解和学习使用docker,感兴趣的朋友可以了解下,需要的朋友可以参考下
    2023-09-09
  • Docker在Windows上安装和使用教程(加速容器应用开发)

    Docker在Windows上安装和使用教程(加速容器应用开发)

    Docker依赖Linux内核,需部署于Linux系统或虚拟环境,安装需确认架构、下载安装包、重启验证,操作流程简洁高效,本文给大家介绍Docker在Windows上安装和使用教程,感兴趣的朋友跟随小编一起看看吧
    2025-09-09
  • 将普通用户加入Docker组,使用docker问题

    将普通用户加入Docker组,使用docker问题

    这篇文章主要介绍了将普通用户加入Docker组,使用docker问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 释放Docker占用的存储空间的几种方法

    释放Docker占用的存储空间的几种方法

    随着Docker的广泛应用,我们经常会遇到Docker占用过多存储空间的问题,这可能是由于频繁的镜像拉取、容器创建和删除等操作导致的,本文将介绍几种方法来有效释放Docker占用的存储空间,需要的朋友可以参考下
    2024-06-06
  • Ubuntu 下通过 Docker 部署 NGINX 服务器的步骤详解

    Ubuntu 下通过 Docker 部署 NGINX 服务器的步骤详解

    今天分享如何在三丰云免费服务器上使用Docker部署NGINX服务器,Docker容器化平台提升应用可移植性,NGINX作为高性能HTTP和反向代理服务器,感兴趣的朋友跟随小编一起看看吧
    2025-02-02

最新评论