如何使用Docker Compose 同时启动后端和数据库
时间: 2025-01-20 18:34:29 浏览: 29
### 使用 Docker Compose 启动后端应用和数据库
为了实现多容器应用程序的定义和管理,Docker Compose 提供了一种简便的方式来描述多个相互依赖的服务并一次性启动它们[^1]。
#### 配置 `docker-compose.yml` 文件
在配置文件中,可以清晰地定义各个服务及其参数。对于一个典型的 Spring Boot 应用程序连接 MySQL 数据库的情况,以下是具体的设置方法:
```yaml
version: '3'
services:
app:
image: springboot-app-image # 或者使用 build 路径指定 Dockerfile 构建镜像
ports:
- "8080:8080"
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/mydatabase?useSSL=false&serverTimezone=UTC
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: example
depends_on:
- db
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: mydatabase
volumes:
db_data:
```
此配置说明了两个主要部分:一个是名为 `app` 的服务代表运行中的 Java Web 应用;另一个是名为 `db` 的 MySQL 实例作为数据存储层[^2]。
#### 关键点解释
- **版本声明**:指定了使用的 Docker Compose 版本语法。
- **服务定义**:分别定义了 `app` 和 `db` 这两个独立又关联的服务实例。
- **环境变量传递**:通过 `environment` 字段向容器内部注入必要的配置信息,比如数据库链接字符串等。
- **持久化卷映射**:利用 `volumes` 定义的数据卷确保即使重启也不会丢失重要资料。
- **依赖关系处理**:借助 `depends_on` 来表达不同组件间的先后顺序逻辑。
上述 YAML 文档展示了如何有效地组合前后端资源,在开发环境中快速搭建起完整的微服务体系结构。
阅读全文
相关推荐


















