刘皇元
当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动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命令汇总
总结一下
美团数据也显示,7月以来,“网球”搜索量同比去年增长超60%。网球体验课、网球培训季度课包在平台热销,美团上网球运动相关团购订单量同比激增172%。来源:红网
作者:环娴淑
编辑:卿彰
本文为红辣椒评论 原创文章,仅系作者个人观点,不代表红网立场。转载请附原文出处链接和本声明。