star7th / showdoc

ShowDoc is a tool greatly applicable for an IT team to share documents online一个非常适合IT团队的在线API文档、技术文档工具
https://www.showdoc.com.cn
Other
12.16k stars 2.18k forks source link

showdoc.db.php挂载到k8s出现报错SQLSTATE[HY000]: General error: 11 database disk image is malformed #2146

Open avhkbcj99 opened 6 months ago

avhkbcj99 commented 6 months ago

使用docker启动,启动命令: docker run -d --name showdoc --user=root -v ~/showdoc.db.php:/showdoc_data/html/Sqlite/showdoc.db.php --privileged=true -p 80:80 star7th/showdoc 这样是可以正常访问和使用的,在k8s中挂载则会出现报错,挂载代码如下:


    volumeMounts:
      - name: showdoc-db-file
        mountPath: /showdoc_data/html/Sqlite/showdoc.db.php
        subPath: showdoc.db.php

启动后去访问登录等页面就会出现如下报错: SQLSTATE[HY000]: General error: 11 database disk image is malformed 。错误位置:/var/www/html/server/ThinkPHP/Library/Think/Db/Driver.class.php 174 请问该如何解决?

star7th commented 6 months ago

我不知如何解决。我使用的是k8s二次封装的rancher,可视化挂载,目前没发现有问题。

avhkbcj99 commented 6 months ago

好的,那我用dashboard来试一下,请问你是在启动镜像前就把文件配置好再启动的吗?

star7th commented 6 months ago

不理解你的意思。但是我想是应该先做好配置再启动。

avhkbcj99 commented 6 months ago

那么,请问一下,你是挂载的showdoc.db.php文件还是将Sqlite整个目录都挂载了?因为每次重新启动的时候,都会提示选择语言。是挂载到/showdoc_data/html/Sqlite/showdoc.db.php这个位置对吗?

star7th commented 6 months ago

image

avhkbcj99 commented 6 months ago
image image image
star7th commented 6 months ago

递归给777权限试试

star7th commented 6 months ago

这种挂载目录给可写权限的问题,你可以登陆进入容器试试是否真的可写文件。自己写点什么看看