Windows 上的 jsreport Docker 图像使用自定义卷时出现问题

Issue using custom volume with jsreport Docker image on Windows

我正在尝试将官方 docker 图像与我自己的 jsreport 配置文件一起使用(以便我可以使用 http 模块)。

我在 Windows,我的工作文件夹是 c:\code\jsreport。

我在我的工作文件夹下创建了一个名为 jsreport-home 的文件夹,并在其中创建了一个名为 prod.config.json 的文件。

然后我执行

docker run  -p 8080:5488 -v "c:\code\jsreport\jsreport-home:/jsreport" jsreport/jsreport

我可以看到在安装的卷文件夹中创建了一个 data 文件夹,所以我相信我已经正确映射了它,但是 jsreport 在它初始化时抛出了这个错误。

error: Failed to load collection settings Error: Failed to flush to storage`enter code here`

有什么地方我做错了吗,或者我应该把它作为一个问题提出来吗?

谢谢。

不幸的是,这是在 jsreport 中提供文件系统存储实现的 nedb 库中的错误。它不喜欢文件系统来自 windows 而运行时来自 linux.

您可以试试 jsreport v2 beta,它重新实现了文件系统存储。

docker run  -p 8080:5488 -v "c:\temp3:/jsreport" jsreport/jsreport:2.0.0-beta 

或者如果您只需要更改一些配置值,您可以将它们作为环境变量传递:

docker run  -p 8080:5488 -e scripts_allowedModules=* jsreport/jsreport