我一直在尝试创建 Jsreport 的 docker 映像,即使在停止后该映像仍然存在。但是,无论我如何尝试,图像正在运行的门户中完成的模板和工作都不会保存到数据目录中。
我尝试运行图像并安装存储它的数据目录
docker run -p 5483:5483 -v /mydata:/DOCKERJSREPORT/data jsreport-container
我尝试在配置文件的存储对象中添加属性“存储路径”:
"store": {
"provider": "fs",
"storagePath": "/DOCKERJSREPORT/data"
},
我尝试在我的 docker 文件中添加 JSREPORT 作为用户:
USER jsreport
它与这些一起运行,甚至从数据目录加载所有存储的自定义模板,但不保存或保留新模板。我迷路了请帮忙!
这是我的完整 DockerFile,以防需要:
FROM jsreport/jsreport:3.13.0
USER jsreport
COPY --chown=jsreport:jsreport jsreport.config.json /app
COPY --chown=jsreport:jsreport /data /app/data
RUN npm install handlebars-intl --save
这就是我的层次结构:
使其持久化的直接方法是安装一个目标为
/app/data
的卷。无需修改配置store.provider. storagePath
(除非您想要不同的位置在容器内),也无需手动复制 Dockerfile 上的数据文件夹。
有效的步骤如下:
FROM jsreport/jsreport:3.13.0
COPY --chown=jsreport:jsreport jsreport.config.json /app
RUN npm install handlebars-intl --save
DOCKERJSREPORT
项目) docker build . -t custom-jsreport-3.13.0
DOCKERJSREPORT
项目)docker run -p 5488:5488 -v ./data:/app/data custom-jsreport-3.13.0