使用 SchemaSpy 与 Docker 生成数据库文档(Windows、Linux、macOS)
发布: (2026年3月26日 GMT+8 10:32)
3 分钟阅读
原文: Dev.to
Source: Dev.to
介绍
SchemaSpy 是一个可以从数据库生成交互式 HTML 文档的工具。本指南以 Oracle 为例,但 SchemaSpy 同样支持 PostgreSQL、MySQL、SQL Server 等。借助 Docker,你可以在 Windows、Linux 或 macOS 上运行它。
前置条件
- 系统已安装 Docker(例如 Docker Desktop)
- JDBC 驱动。Docker 镜像已内置以下驱动:
- MySQL
- MariaDB
- PostgreSQL
- jTDS
如果使用上述任意一种数据库,则 不需要 再额外下载驱动。
- 对于 Oracle,请从 Oracle 官网 下载 JDBC 驱动
ojdbc11.jar。
入门
步骤 1:创建工作目录
mkdir schemaspy-doc && cd schemaspy-doc
mkdir drivers output步骤 2:添加 JDBC 驱动
将下载好的 ojdbc11.jar 移动到刚才创建的 drivers/ 目录中。
步骤 3:创建 schemaspy.properties
新建一个名为 schemaspy.properties 的文件,内容如下:
schemaspy.t=orathin-service
schemaspy.driver=oracle.jdbc.OracleDriver
schemaspy.host=server_or_ip
schemaspy.port=1521
schemaspy.db=db_name
schemaspy.u=database_user
schemaspy.p=database_password
schemaspy.schema=schema_name
schemaspy.norows=true
schemaspy.noviews=true
# Required in Oracle
schemaspy.cat=%如果不确定 schemaspy.t 参数该使用什么值,可运行:
docker run --rm schemaspy/schemaspy -dbHelp该命令会列出支持的数据库类型以及每种类型所需的参数。
步骤 4:使用 Docker 运行 SchemaSpy
在 Linux/macOS 上
docker run --rm \
-v "$(pwd)/schemaspy.properties:/schemaspy.properties" \
-v "$(pwd)/output:/output" \
-v "$(pwd)/drivers:/drivers" \
schemaspy/schemaspy在 Windows(PowerShell)上
docker run --rm `
-v "${PWD}/schemaspy.properties:/schemaspy.properties" `
-v "${PWD}/output:/output" `
-v "${PWD}/drivers:/drivers" `
schemaspy/schemaspy注意: 在 Docker 容器内部使用
localhost作为数据库主机是行不通的,因为localhost指向容器本身。请使用host.docker.internal来连接运行在宿主机上的数据库,例如:
schemaspy.host=host.docker.internal步骤 5:查看生成的文档
命令执行完毕后,打开 output/index.html 即可在浏览器中查看。你将看到:
- 实体‑关系图
- 表结构
- 列、索引、关系等信息
- 美观、可点击、交互式的 HTML 界面

