林欣淳
当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动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命令汇总
总结一下
针对上述情况,通用汽车高管表示,企业对扭转中国市场的销售局面仍有信心,他们希望旗下新能源车型能在中国市场继续发力。据彭博社报道,通用汽车董事长兼首席执行官玛丽·博拉此前表示,“当你观察中国市场时,会发现它与5年前有很大不同。我们希望能够以正确的方式参与到这个市场中。”尽管在中国市场份额占比不大,但斯特兰蒂斯也看好中国市场,并“入股”中国车企。去年10月,斯特兰蒂斯宣布与中国零跑汽车成为全球战略伙伴,并向后者投资15亿欧元。来源:红网
作者:明秀竹
编辑:钟成辰
本文为红辣椒评论 原创文章,仅系作者个人观点,不代表红网立场。转载请附原文出处链接和本声明。