JSReport Docker 容器未写入数据文件夹

问题描述 投票:0回答:1

我一直在尝试创建 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

这就是我的层次结构:

javascript docker persist jsreport
1个回答
0
投票

使其持久化的直接方法是安装一个目标为

/app/data
的卷。无需修改配置
store.provider. storagePath
(除非您想要不同的位置在容器内),也无需手动复制 Dockerfile 上的数据文件夹。

有效的步骤如下:

  • Dockerfile
    FROM jsreport/jsreport:3.13.0
    COPY --chown=jsreport:jsreport jsreport.config.json /app
    RUN npm install handlebars-intl --save
  • 像往常一样使用这样的命令构建自定义 docker 映像(假设运行此命令时的工作目录是您的
    DOCKERJSREPORT
    项目)
    docker build . -t custom-jsreport-3.13.0
  • 运行图像(假设运行此命令时您的工作目录是您的
    DOCKERJSREPORT
    项目)
docker run -p 5488:5488 -v ./data:/app/data custom-jsreport-3.13.0
© www.soinside.com 2019 - 2024. All rights reserved.