Docker版Schemacrawler配置文件位置及参数设置方法咨询
使用Docker运行SchemaCrawler时配置参数的方法
当你用Docker镜像运行SchemaCrawler时,其实不用纠结找内置配置文件——最灵活的方式要么直接在命令行传递参数,要么挂载自己的自定义配置文件。下面是具体实现方法:
方法一:直接在Docker命令行传递参数
SchemaCrawler支持通过Java系统属性(以-D为前缀)传递所有配置参数,这在Docker环境下是最直接的方式。
比如你要设置schemacrawler.format.show_ordinal_numbers=true来显示列序号,只需要把这个参数加到Docker运行命令里即可。举个MySQL数据库的完整示例:
docker run --rm \ -v /本地路径/到/jdbc驱动:/opt/schemacrawler/lib \ -v /本地路径/到/输出目录:/output \ schemacrawler/schemacrawler \ -Dschemacrawler.format.show_ordinal_numbers=true \ --server=mysql \ --database=你的数据库名 \ --user=你的用户名 \ --password=你的密码 \ --info-level=standard \ --command=schema
注意:
-D开头的参数要放在所有SchemaCrawler命令选项(比如--server、--command)的前面。
方法二:挂载自定义配置文件
如果你有多个参数需要配置,不想每次都写在命令行里,可以创建一个.properties格式的配置文件,然后挂载到Docker容器中。
- 首先在本地创建一个名为
schemacrawler.properties的文件,内容如下:
# 显示列序号 schemacrawler.format.show_ordinal_numbers=true # 可以添加其他你需要的配置参数 # schemacrawler.xxx.yyy=value
- 然后在Docker运行时,把这个文件挂载到容器的SchemaCrawler安装目录(默认是
/opt/schemacrawler):
docker run --rm \ -v /本地路径/到/jdbc驱动:/opt/schemacrawler/lib \ -v /本地路径/到/schemacrawler.properties:/opt/schemacrawler/schemacrawler.properties \ -v /本地路径/到/输出目录:/output \ schemacrawler/schemacrawler \ --server=mysql \ --database=你的数据库名 \ --user=你的用户名 \ --password=你的密码 \ --info-level=standard \ --command=schema
SchemaCrawler会自动读取这个目录下的配置文件,应用里面的参数。
额外说明
- 容器内的SchemaCrawler默认安装路径是
/opt/schemacrawler,如果需要指定自定义配置文件的路径,可以用-Dschemacrawler.config.file=/自定义路径/schemacrawler.properties参数,同时把文件挂载到对应的路径即可。 - 所有官方文档提到的配置参数,都可以通过上述两种方式设置,无需修改容器内置的文件。
内容的提问来源于stack exchange,提问作者Jon Lauridsen
相关产品推荐
相关产品推荐

