Docker 创建开发/测试数据库

用 Docker 容器化开发和测试数据库,获得更稳定的环境隔离、启动速度和迁移一致性。

#type / howto #status / growing #tech / dev / backend #resource / docker #resource / database

[!info] related notes

Docker 创建开发/测试数据库

目标

用容器快速启动、销毁和重建数据库环境,避免本机手装数据库导致的版本漂移和环境污染。

前置条件

  • 已安装 Docker
  • 已确认宿主机端口和已有数据库不会冲突

步骤

为什么用 Docker

用 Docker 管理开发/测试数据库,最直接的价值是:

  • 移植方便
  • 启停成本低
  • 环境隔离明确
  • 团队成员更容易共享同一套版本和初始化方式

一个最小原则

开发数据库和测试数据库尽量不要共用同一个容器、同一个端口、同一个数据卷。

一个最小示例

services:
  postgres-dev:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: app_dev
    ports:
      - "5432:5432"

  postgres-test:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: app_test
    ports:
      - "5433:5432"

验证

  • docker ps 能看到数据库容器正常运行
  • 本机能连接到开发库和测试库
  • 删除并重建容器后,环境能按预期恢复

常见问题

创建于 2025/1/1 更新于 2026/5/27