你好、Docker
首页
Docker命令大全
Dockerfile
DockerCompose
  • Docker部署Vue项目指南
  • Docker部署Nginx指南
  • Docker部署Django项目指南
  • Docker部署fastapi项目指南
笔记
首页
Docker命令大全
Dockerfile
DockerCompose
  • Docker部署Vue项目指南
  • Docker部署Nginx指南
  • Docker部署Django项目指南
  • Docker部署fastapi项目指南
笔记
  • Docker Compose使用指南

Docker Compose使用指南

1. Docker Compose概述

1.1 什么是Docker Compose

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

1.2 主要功能和优势

  • 简化复杂应用部署:通过单个YAML文件定义多个容器服务
  • 环境一致性:确保开发、测试和生产环境的一致性
  • 自动化管理:一键启动、停止和重建服务
  • 服务间依赖管理:自动处理服务启动顺序
  • 扩展性:轻松扩展服务实例数量

1.3 适用场景

  • 开发环境搭建
  • 自动化测试环境部署
  • 生产环境服务编排
  • 持续集成和持续部署流程
  • 微服务架构应用部署

2. 环境要求与安装

2.1 前置条件

  • Docker Engine已安装(版本17.06.0或更高)
  • 操作系统要求:
    • Windows 10/11专业版或企业版
    • macOS 10.14或更高版本
    • Linux(主流发行版均支持)

2.2 安装方法

Windows安装

  • Docker Desktop for Windows已包含Compose
  • 独立安装:
# 使用PowerShell安装
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest "https://github.com/docker/compose/releases/latest/download/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe

Linux安装

# 下载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

macOS安装

  • Docker Desktop for Mac已包含Compose
  • 使用Homebrew安装:
brew install docker-compose

2.3 验证安装

docker-compose --version

3. 基本使用方法

3.1 docker-compose.yml文件

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example

3.2 常用配置项说明

  • version: Compose文件格式版本
  • services: 定义应用的各个服务
  • networks: 定义服务间的网络
  • volumes: 定义数据卷
  • environment: 环境变量配置
  • depends_on: 服务依赖关系
  • ports: 端口映射

4. 命令参考

4.1 docker-compose up - 创建并启动容器

命令格式:

docker-compose up [OPTIONS] [SERVICE...]

命令示例:

# 启动所有服务
docker-compose up

# 后台运行服务
docker-compose up -d

# 启动指定服务
docker-compose up web db

参数说明:

参数名必填类型可选值默认值说明
-d否boolean-false后台运行
--build否boolean-false构建镜像
--force-recreate否boolean-false强制重新创建容器

4.2 docker-compose down - 停止并删除容器

命令格式:

docker-compose down [OPTIONS]

命令示例:

# 停止并删除所有容器
docker-compose down

# 同时删除卷
docker-compose down -v

参数说明:

参数名必填类型可选值默认值说明
-v, --volumes否boolean-false删除卷
--rmi否stringall/local-删除镜像

4.3 docker-compose ps - 列出容器

命令格式:

docker-compose ps [OPTIONS] [SERVICE...]

命令示例:

# 列出所有容器
docker-compose ps

# 列出指定服务的容器
docker-compose ps web

4.4 docker-compose logs - 查看容器日志

命令格式:

docker-compose logs [OPTIONS] [SERVICE...]

命令示例:

# 查看所有容器日志
docker-compose logs

# 实时查看日志
docker-compose logs -f

参数说明:

参数名必填类型可选值默认值说明
-f否boolean-false实时查看
--tail否string-all显示日志行数

4.5 docker-compose exec - 在容器中执行命令

命令格式:

docker-compose exec [OPTIONS] SERVICE COMMAND [ARGS...]

命令示例:

# 在web服务容器中执行bash
docker-compose exec web bash

# 在db服务容器中执行mysql命令
docker-compose exec db mysql -u root -p

参数说明:

参数名必填类型可选值默认值说明
-T否boolean-false禁用伪终端
--index否int-1指定容器序号
最近更新:: 2025/3/25 13:32
Contributors: YAOBIN