求问:是否存在已预填充记录的SQL(MySQL/PostgreSQL等)Docker容器?
带预填充Schema和数据的SQL类Docker容器推荐
下面整理了MySQL、PostgreSQL、SQL Server三类数据库的可用预填充容器,以及快速自制的方法:
MySQL
samuelowad/mysql-sample-data:包含经典的员工数据库(employees schema),预填充了员工、部门、薪资、考勤等几十万条模拟业务数据,直接启动就能用于测试查询、报表生成等场景。mysql-world:部分社区镜像提供这个版本,包含世界国家、城市、语言的结构化数据,适合地理相关的测试需求。
PostgreSQL
dvdrental/postgres:内置DVD租赁业务数据库,有完整的客户、影片、租赁、库存等表结构,预填充了数千条真实模拟的租赁记录,适合CRUD、关联查询等测试。postgres-sample-adventureworks:适配PostgreSQL的AdventureWorks移植版,包含企业级业务Schema和数据,适合复杂业务逻辑测试。
SQL Server
jeremybytes/sql-server-sample:内置微软官方的AdventureWorks示例数据库,有销售、生产、人事等完整业务模块的Schema和预填充数据,支持SQL Server 2019及以上版本。- 基于官方镜像自制:用
mcr.microsoft.com/mssql/server:2022-latest作为基础镜像,挂载包含AdventureWorks备份恢复脚本的目录,启动时自动完成数据填充。
自制预填充容器的快速方法
如果找不到完全匹配需求的容器,基于官方镜像自制很简单:
- 准备好Schema创建脚本(比如
schema.sql)和数据导入脚本(比如data.sql)。 - 编写Dockerfile:
- MySQL/PostgreSQL:将脚本复制到
/docker-entrypoint-initdb.d/目录,容器启动时会自动执行。 - SQL Server:复制脚本到容器内,在CMD中添加执行
sqlcmd恢复备份或执行脚本的命令。
- MySQL/PostgreSQL:将脚本复制到
- 构建镜像:
docker build -t my-custom-sql-image .
内容的提问来源于stack exchange,提问作者tarcali
相关产品推荐
相关产品推荐

