Docker Compose 实战:一键部署 Web、数据库与缓存微服务环境
引言
做后端开发的同学,一定遇到过这样的痛点:部署微服务时,要逐个启动 Web 应用、数据库、缓存等容器,还要手动配置容器联动,步骤繁琐且容易出错,换个环境又要重复配置。而 Docker Compose 正是解决这个问题的'神器',只需编写一个 docker-compose.yml 文件,一行命令就能一键启动整套微服务环境,统一配置、一键复用,大幅提升开发和部署效率。
一、什么是 Docker Compose(极简认知)
Docker Compose 是 Docker 官方提供的容器编排工具,专门用于管理多个 Docker 容器组成的应用集群。
简单来说,当你的项目需要同时运行多个容器(比如 Web 服务用 Nginx、应用用 SpringBoot、数据库用 MySQL、缓存用 Redis),不需要逐个执行 docker run 命令启动,也不用手动配置容器间的网络连接,只需通过一个 docker-compose.yml 配置文件,定义好所有容器的参数、依赖关系和网络规则,执行一行命令就能实现'一键启动、一键停止、一键重启'所有容器。
💡 核心优势:简化配置、统一环境、一键操作、易于维护,是后端开发、测试环境部署的必备工具,也是微服务编排的入门首选。
建议大家先确认本地已安装 Docker 和 Docker Compose(执行 docker-compose -v 可查看版本),如果未安装,可参考 Docker 官方文档快速部署。
二、核心:docker-compose.yml 配置详解
docker-compose.yml 是 Docker Compose 的核心,所有容器的配置都集中在这个文件中,语法遵循 YAML 规范,结构清晰、易于编写和修改。
2.1 通用配置模板
# 版本号(需与 Docker Compose 版本匹配,常用 3.x)
version: '3'
# 定义所有服务(容器),每个服务对应一个容器
services:
# 1. Web 应用服务(示例:SpringBoot 应用)
web:
# 镜像名称(本地有则使用本地,无则自动从 Docker Hub 拉取)
image: springboot-web:1.0.0
# 容器名称(自定义,便于区分和操作)
container_name: springboot-web
# 端口映射(宿主机端口:容器内部端口)
ports:
- "8080:8080"
# 依赖关系(先启动 mysql 和 redis,再启动 web 服务)
depends_on:
- mysql


