Docker Compose 编排实战: 一键部署多容器应用!
- 2025-07-09 05:54:43
- 312
当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动 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/mysqlvolumes: db_data:
关键结构说明:
三、常见服务组合案例
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/mysqlvolumes: db_data:
启动项目:
docker-compose up -d
打开浏览器访问 http://localhost:8080,你将看到熟悉的 WordPress 安装界面!
️ 常用 Compose 命令汇总
总结一下
- 上一篇:王楚钦说身体没有大碍
- 下一篇:易烊千玺演唱会