云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

Docker Compose 编排实战:一键部署多容器应用!

jxf315 2025-08-05 19:07:44 教程文章 5 ℃

当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动 docker run,简直是灾难

这就是 Docker Compose 登场的时机!



一、什么是 Docker Compose?为什么需要它?

Docker Compose 是 Docker 官方推出的容器编排工具,用于定义和运行多容器应用

通过一个 docker-compose.yml 文件,就可以用一条命令 docker-compose up,一次性拉起整个项目中的多个服务,像启动引擎一样简单

使用 Compose 的优势:

  • 一键启动/停止多个容器
  • 配置集中管理,结构清晰
  • 支持服务依赖顺序(如 DB 先启动)
  • 本地开发、测试环境更轻松
  • 更适合多人协作部署场景

二、docker-compose.yml文件结构说明

下面是一个典型的 Compose 配置文件结构:

version: "3.9"

services:
  web:
    image: nginx
    ports:
      - "8080:80"

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

关键结构说明:

字段

含义说明

version

Compose 文件版本

services

定义多个容器服务

image

使用的镜像名

build

可选,使用 Dockerfile 构建镜像

ports

主机端口:容器端口映射

volumes

数据卷挂载

environment

环境变量设置

depends_on

指定依赖的服务,控制启动顺序


三、常见服务组合案例

LAMP(Linux + Apache + MySQL + PHP)

services:
  apache:
    image: php:7.4-apache
    ports:
      - "8080:80"
    volumes:
      - ./code:/var/www/html

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root

MEVN(MongoDB + Express + Vue + Node)

适用于现代前后端分离开发架构:

services:
  frontend:
    build: ./frontend
    ports:
      - "3000:80"

  backend:
    build: ./backend
    ports:
      - "5000:5000"
    depends_on:
      - mongo

  mongo:
    image: mongo

Compose 可以灵活支持不同编程语言与框架组合,让你更轻松实现项目整体容器化!


四、实战:一键部署多容器 WordPress + MySQL

我们将部署一个最常见的实际案例:WordPress + MySQL 组合。

创建项目结构:

wordpress-docker/
├── docker-compose.yml

编辑docker-compose.yml:

version: "3.9"

services:
  wordpress:
    image: wordpress
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: 123456
    depends_on:
      - db

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

启动项目:

docker-compose up -d

打开浏览器访问 http://localhost:8080,你将看到熟悉的 WordPress 安装界面!


常用 Compose 命令汇总

命令

作用说明

docker-compose up -d

后台启动所有服务

docker-compose down

停止并删除容器和网络

docker-compose ps

查看当前服务状态

docker-compose logs

查看服务日志

docker-compose exec

进入容器执行命令

docker-compose restart

重启所有服务


总结一下

知识点

内容说明

Compose 是啥?

多容器编排工具,用于简化部署和管理

文件结构清晰

所有配置集中在一个 yaml 文件

一键部署

updown 就能快速搭建/清理环境

支持服务组合

如 LAMP、MEVN、WordPress 等多容器应用

最近发表
标签列表