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

经观智讯2025-07-21 18:38:07

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

这就是DockerCompose登场的时机!

❓一、什么是DockerCompose?为什么需要它?

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

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

使用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:

关键结构说明:

三、常见服务组合案例

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:mongo

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

四、实战:一键部署多容器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-composeup-d

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

️常用Compose命令汇总

总结一下

  当地时间8月29日,巴黎残奥会首个比赛日。在伊夫林省圣康坦自行车馆,中国队选手李樟煜上演了一场“速度与激情”。男子C1级3000米个人追逐赛资格赛,他以3:31.338的成绩刷新该项目世界纪录。决赛中,李樟煜状态火热,夺得金牌,这也是中国体育代表团在本届残奥会上获得的首枚金牌。另一位中国队选手梁伟聪摘得银牌,恭喜中国队包揽该项目金银牌!