当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动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命令汇总
总结一下
李鹏新严重违反党的政治纪律、组织纪律、廉洁纪律和生活纪律,构成严重职务违法并涉嫌受贿犯罪,且在党的十八大后不收敛、不收手,性质严重,影响恶劣,应予严肃处理。依据《中国共产党纪律处分条例》《中华人民共和国监察法》《中华人民共和国公职人员政务处分法》等有关规定,经中央纪委常委会会议研究并报中共中央批准,决定给予李鹏新开除党籍处分;由国家监委给予其开除公职处分;收缴其违纪违法所得;将其涉嫌犯罪问题移送检察机关依法审查起诉,所涉财物一并移送。