docker compose安装、使用及快速入门教程

 更新时间:2026年05月07日 09:04:28   作者:drstx  
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,这篇文章给大家介绍docker-compose 如何安装、使用及快速入门,感兴趣的朋友跟随小编一起看看吧

什么是 Docker Compose?

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个 YAML 文件(docker-compose.yml),您可以配置应用程序的所有服务,然后使用单个命令创建和启动所有服务。

主要功能:

  • 使用 YAML 文件管理多容器应用
  • 一键启动/停止整个应用栈
  • 服务间网络和卷管理
  • 环境变量配置
  • 服务依赖关系管理

典型应用场景:

  • 开发环境搭建
  • 自动化测试环境
  • 单主机部署
  • 微服务应用

对于单机多容器应用编排,推荐通过官方渠道安装 Docker Compose,使用 docker-compose.yml 配置文件管理服务,适合开发、测试及中小型生产环境。

先说结论:Docker Compose 是 Docker 官方提供的多容器编排工具,通过 YAML 文件定义服务,一条命令即可启动完整应用栈。

  • 适合:单机多容器应用、开发测试环境、微服务本地调试
  • 先看:安装方式选择(插件版或独立二进制)、compose 文件版本兼容性
  • 建议:优先使用 docker compose 插件命令,生产环境注意版本锁定和配置备份

命令速用版

安装后常用命令如下,可直接在终端执行:

# 查看版本确认安装成功
docker-compose `--version`
# 启动所有服务(前台)
docker-compose up
# 启动所有服务(后台)
docker-compose up -d
# 停止并删除容器、网络、卷
docker-compose down
# 查看运行中的容器
docker-compose ps
# 查看服务日志
docker-compose logs <service>
# 进入容器执行命令
docker-compose exec <service> <command>
# 重新构建镜像
docker-compose build
# 重启服务
docker-compose restart

为什么会这样

Docker Compose 解决的核心问题是:当应用由多个容器组成时,手动执行多条 docker run 命令容易出错且难以维护。通过 docker-compose.yml 文件,你可以将服务定义、网络配置、卷挂载等信息集中管理,使用单个命令完成整个应用栈的启动。

Compose 管理三个层级内容:工程(运行目录)、服务(子项目)、容器(服务实例)。但需要注意,它只能在单一主机上进行编排,跨节点编排需要使用 Docker Swarm 或 Kubernetes。

分步处理

1. 安装 Docker Compose

有两种主流安装方式,任选其一即可:

方式一:作为 Docker 插件安装(推荐)

# CentOS/RedHat 系统
yum install -y docker-compose-plugin
# 验证安装
docker compose version

安装后使用 docker compose 命令(无连字符)。

方式二:独立二进制安装

# 下载安装包(版本号需替换为实际版本)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose `--version`

安装后使用 docker-compose 命令(有连字符)。

2. 编写 docker-compose.yml

在项目根目录创建配置文件,基本结构如下:

version: "3.9"
services:
  web:
    build: .
    ports:
      - "8080:8080"
    volumes:
      - .:/code
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: password

常用字段说明:build 指定 Dockerfile 路径,image 指定镜像,ports 暴露端口,volumes 挂载卷,environment 设置环境变量,depends_on 定义服务依赖。

3. 启动应用

# 进入配置文件所在目录
cd /path/to/your/project
# 启动所有服务
docker-compose up -d
# 查看服务状态
docker-compose ps

怎么验证是否生效

完成安装和配置后,按以下步骤验证:

  1. 验证安装:执行 docker-compose `--version`docker compose version,有版本号输出即表示安装成功
  2. 验证服务启动:执行 docker-compose ps,所有服务状态应显示为 Up
  3. 验证端口映射:执行 docker-compose port <service> <port> 查看端口映射,或使用 curl 测试服务可访问性
  4. 验证日志:执行 docker-compose logs <service> 查看服务启动日志,确认无报错
  5. 验证网络:执行 docker network ls 查看是否创建了自定义网络,服务间可通过服务名互相访问

常见坑

  • 命令混用:插件版使用 docker compose,独立版使用 docker-compose,两者不要混用
  • 版本兼容性:docker-compose.yml 的 version 字段需与 Compose 版本匹配,公开资料中没有看到可靠的版本兼容性量化对照表,建议参考官方文档
  • 容器名称冲突:如果指定 container_name,该服务无法使用 scale 命令扩容,因为容器名称必须唯一
  • 端口限制:ports 映射的端口不能低于 60
  • 网络隔离:Compose 会创建默认自定义网络(bridge 类型),而非使用默认 docker0 桥接网络,服务间可通过服务名直接访问
  • 跨主机限制:Compose 只能用于单一主机编排,无法跨节点,多主机场景需考虑 Swarm 或 K8s
  • 配置变更:修改 yml 后需执行 docker-compose up `--force-recreate` 重新加载配置

参考来源

  • Docker 官方文档 - Docker Compose 安装指南:https://docs.docker.com/compose/install/
  • Docker 官方文档 - Compose 文件格式:https://docs.docker.com/compose/compose-file/compose-file-v3/
  • 阿里云开发者社区 - Docker Compose 安装及入门使用
  • 阿里云开发者社区 - docker-compose 快速入门及实战
  • 博客园 - 单机编排工具之 docker-compose 快速入门使用

原文链接:https://www.zjcp.cc/ask/10128.html

到此这篇关于docker compose安装、使用及快速入门教程的文章就介绍到这了,更多相关docker compose安装使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker使用run命令部署MySQL的流程步骤

    Docker使用run命令部署MySQL的流程步骤

    容器化技术为数据库部署带来了革命性的变化,MySQL作为最流行的开源关系型数据库之一,结合Docker容器可以实现快速部署、环境隔离和便捷管理,本文给大家介绍了Docker使用run命令部署MySQL的流程步骤,需要的朋友可以参考下
    2025-03-03
  • 在Ubuntu上使用Docker部署DeepSeek的详细步骤

    在Ubuntu上使用Docker部署DeepSeek的详细步骤

    docker是容器化技术的代表,它能够将应用程序及其依赖项打包成一个独立的容器,在 DeepSeek 部署中,使用 docker 可以确保 deepseek - r1 在不同环境中具有一致的运行状态,本文给大家介绍了在Ubuntu上使用Docker部署DeepSeek的详细步骤,需要的朋友可以参考下
    2025-02-02
  • Centos8.3、docker部署springboot项目实战案例分析

    Centos8.3、docker部署springboot项目实战案例分析

    这篇文章主要介绍了Centos8.3、docker部署springboot项目实战记录,包括docker安装,开启docker远程访问端口的方法及配置idea docker环境的方法,需要的朋友可以参考下
    2021-06-06
  • Docker环境中Redis连接三种场景的配置指南

    Docker环境中Redis连接三种场景的配置指南

    本指南详细说明如何将docker项目原本redis服务连接到 三种不同位置的 Redis 服务,并屏蔽项目自带的 Redis 容器,需要的朋友可以参考下
    2026-06-06
  • centos7安装docker容器的超详细步骤记录

    centos7安装docker容器的超详细步骤记录

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,这篇文章主要给大家介绍了关于centos7安装docker容器的超详细步需要的朋友可以参考下
    2022-08-08
  • 用docker搭建selenium grid分布式环境实践之路

    用docker搭建selenium grid分布式环境实践之路

    这篇文章主要介绍了用docker搭建selenium grid分布式环境实践之路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • docker-compose部署Yapi的方法

    docker-compose部署Yapi的方法

    这篇文章主要介绍了docker-compose部署Yapi,需要的朋友可以参考下
    2022-04-04
  • CentOS 7 Docker 连接 Docker Hub 失败解决方案

    CentOS 7 Docker 连接 Docker Hub 

    本文记录CentOS7系统中Docker无法连接Docker Hub的完整排查过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • 绑定Dokcer容器到主机指定网卡的方法

    绑定Dokcer容器到主机指定网卡的方法

    这篇文章主要介绍了绑定 Dokcer 容器到主机指定网卡的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 编写Dockerfile和构建自定义镜像的步骤与技巧

    编写Dockerfile和构建自定义镜像的步骤与技巧

    Docker已经成为现代应用程序开发和部署的重要工具之一,在Docker中,Dockerfile是定义和构建自定义镜像的键文件,本文将深入解读Dockerfile的编写和自定义镜像的构建过程,并分享一些实用的技巧和最佳实践,需要的朋友可以参考下
    2023-07-07

最新评论