
erikvl87/languagetool本仓库包含用于创建LanguageTool Docker镜像的Dockerfile。
LanguageTool是一款开源校对软件,支持英语、法语、德语、波兰语、俄语以及20多种其他语言。它能发现许多简单拼写检查器无法检测到的错误。
shdocker pull erikvl87/languagetool docker run --rm -p 8010:8010 erikvl87/languagetool
这将从Docker Hub拉取latest标签的镜像。也可选择指定标签以固定版本,这些版本源自LanguageTool官方发布。对于已发布版本的Dockerfile更新,会在标签中添加-dockerupdate-{X}后缀(其中{X}是递增数字)。
当计划修改Dockerfile时,可使用此方法:
shgit clone [***] --config core.autocrlf=input docker build -t languagetool . docker run --rm -it -p 8010:8010 languagetool
LanguageTool启动时默认最小堆大小(-Xms)为256m,最大堆大小(-Xmx)为512m。可通过设置环境变量Java_Xms和Java_Xmx覆盖默认值。
启动配置示例:
shdocker run --rm -it -p 8010:8010 -e Java_Xms=512m -e Java_Xmx=2g erikvl87/languagetool
可通过将HTTPServerConfig配置选项前缀设为langtool_并作为环境变量使用。
启动配置示例:
shdocker run --rm -it -p 8010:8010 -e langtool_pipelinePrewarming=true -e Java_Xms=1g -e Java_Xmx=2g erikvl87/languagetool
要覆盖默认的LanguageTool logback.xml日志配置,创建新的logback.xml文件并挂载到容器中。
例如,创建以下logback.xml文件:
xml<?xml version="1.0" encoding="UTF-8"?> <configuration> <logger name="org.languagetool" level="ERROR"/> </configuration>
启动配置示例:
shdocker run --rm -it -p 8010:8010 -v /home/john/logback.xml:/LanguageTool/logback.xml erikvl87/languagetool
LanguageTool可利用大型n-gram数据集检测易混淆词(如__their__和__there__)的错误。
来源:[**]
将n-gram数据集下载到本地并解压到ngrams目录:
home/ ├─ john/ │ ├─ ngrams/ │ │ ├─ en/ │ │ │ ├─ 1grams/ │ │ │ ├─ 2grams/ │ │ │ ├─ 3grams/ │ │ ├─ nl/ │ │ │ ├─ 1grams/ │ │ │ ├─ 2grams/ │ │ │ ├─ 3grams/
使用-v将本地ngrams目录挂载到容器/ngrams目录,并设置languageModel为/ngrams:
shdocker run --rm -it -p 8010:8010 -e langtool_languageModel=/ngrams -v /home/john/ngrams:/ngrams:ro erikvl87/languagetool
可通过添加单词到以下文件改进拼写检查器(无需修改词典):
spelling.txt:忽略并用于生成更正建议ignore.txt:仅忽略不生成建议prohibited.txt:标记为错误即使拼写检查器接受
来源:[**]
以下Dockerfile示例向spelling.txt添加单词(假设en_spelling_additions.txt在Dockerfile旁):
dockerfileFROM erikvl87/languagetool # 改进拼写检查器 # [***] USER root COPY en_spelling_additions.txt en_spelling_additions.txt RUN (echo; cat en_spelling_additions.txt) >> org/languagetool/resource/en/hunspell/spelling.txt USER languagetool
构建并运行:
shdocker build -t languagetool-custom . docker run --rm -it -p 8010:8010 languagetool-custom
其他语言需修改路径中的语言标签(如nl的spelling.txt路径为org/languagetool/resource/nl/spelling/spelling.txt)。
此镜像可与Docker Compose配合使用,项目根目录提供示例docker-compose.yml。
默认监听端口8010(不同于LanguageTool默认的8081)。
cURL请求示例:
shcurl --data "language=en-US&text=a simple test" http://localhost:8010/v2/check
更多使用说明参见LanguageTool官方文档。
本地服务器连接官方Firefox扩展时若遇问题,参见cors-workaround。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务