如何在Docker部署的OpenGrok 1.5中配置忽略文件与目录(变量不生效)
OpenGrok 1.5 Docker 忽略规则正确配置方式
配置失效的核心原因
1.5版本官方Docker镜像对旧版忽略配置逻辑做了不兼容调整:
OPENGROK_IGNORE_PATTERNS环境变量不再接收grep风格的-i参数,这类参数会被直接当成待匹配的文件模式,导致实际的忽略规则完全匹配不到目标文件/目录- 旧镜像自定义的
d:目录前缀、全路径通配*/build/*写法全部失效,多规则分隔符从空格改为英文逗号
正确配置语法
- 忽略文件类型:直接写通配符,无需额外参数。例如忽略所有.swp交换文件,直接写
*.swp - 忽略目录:模式末尾加
/即可匹配任意层级下的同名目录,无需d:前缀或全路径通配。例如忽略所有层级的build目录,直接写build/ - 修改规则后必须强制全量重建索引,否则旧索引会保留未过滤的文件内容,导致忽略规则看起来不生效
修正后的启动命令
docker run -d \ -v /tmp/test1/:/opengrok/src \ -e OPENGROK_IGNORE_PATTERNS="*.swp,build/" \ -e INDEXER_OPT="-H" \ -p 9876:8080 \ opengrok/docker:1.5
补充说明:
- 无需在规则中写完整层级路径,OpenGrok的规则匹配默认会递归覆盖所有子目录
- 如需忽略多级路径下的特定目录,直接写相对路径片段即可,例如忽略
cache/tmp/目录,直接写cache/tmp/
内容的提问来源于stack exchange,提问作者LLL
相关产品推荐
相关产品推荐

