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

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

当项目变得越来越复杂 , 一个服务已经无法满足需求时 , 你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时 , 如果还一个一个手动 docker run , 简直是灾难
【\uD83D\uDCCB Docker Compose 编排实战:一键部署多容器应用!】这就是 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: nginxports:- \"8080:80\"db:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: 123456volumes:- db_data:/var/lib/mysqlvolumes:db_data: 关键结构说明:
字段
含义说明
version
Compose 文件版本
services
定义多个容器服务
image
使用的镜像名
build
可选 , 使用 Dockerfile 构建镜像
ports
主机端口:容器端口映射
volumes
数据卷挂载
environment
环境变量设置
depends_on
指定依赖的服务 , 控制启动顺序
三、常见服务组合案例? LAMP(Linux + Apache + MySQL + PHP)services:apache:image: php:7.4-apacheports:- \"8080:80\"volumes:- ./code:/var/www/htmlmysql:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: root? MEVN(MongoDB + Express + Vue + Node)适用于现代前后端分离开发架构:
services:frontend:build: ./frontendports:- \"3000:80\"backend:build: ./backendports:- \"5000:5000\"depends_on:- mongomongo:image: mongoCompose 可以灵活支持不同编程语言与框架组合 , 让你更轻松实现项目整体容器化!
四、实战:一键部署多容器 WordPress + MySQL我们将部署一个最常见的实际案例:WordPress + MySQL 组合 。
? 创建项目结构:wordpress-docker/├── docker-compose.yml? 编辑docker-compose.yml:version: \"3.9\"services:wordpress:image: wordpressports:- \"8080:80\"environment:WORDPRESS_DB_HOST: db:3306WORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: 123456depends_on:- dbdb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: 123456volumes:- db_data:/var/lib/mysqlvolumes: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 文件
一键部署
up 和 down 就能快速搭建/清理环境
支持服务组合
如 LAMP、MEVN、WordPress 等多容器应用

    推荐阅读