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.27k stars 2.19k forks source link

Docker部署showdoc是否可以不设置privileged=true #2247

Closed yongjuntang closed 3 months ago

yongjuntang commented 3 months ago

目前想在docker swarm上部署showdoc,但是它不支持设置容器的--privileged=true,如果去掉这个参数,通过cap_add添加其他权限可以吗,这里添加--privileged=true是为了解决哪里的问题?

star7th commented 3 months ago

理论上没问题。加权限只是为了防止一些特殊情况下没权限的情况。

star7th commented 3 months ago

总之如果能运行起来就行了。可以不加

yongjuntang commented 3 months ago

正常登录编辑没有问题,但是调用开放API上传的时候,提示“Sqlite/showdoc.db.php文件不可写”

star7th commented 3 months ago

这种挂载权限的问题,就得你去看了。docker run 的时候应该没问题的。

yongjuntang commented 3 months ago

这种挂载权限的问题,就得你去看了。docker run 的时候应该没问题的。

经过调试发现,dockerhub上最新的showdoc镜像的Application/Common/Conf/config.php里的DB_NAME有问题,将'DB_NAME' => '../Sqlite/showdoc.db.php', 改为 'DB_NAME' => './Sqlite/showdoc.db.php',,问题解决了

yongjuntang commented 3 months ago

这种挂载权限的问题,就得你去看了。docker run 的时候应该没问题的。

经过调试发现,dockerhub上最新的showdoc镜像的Application/Common/Conf/config.php里的DB_NAME有问题,将'DB_NAME' => '../Sqlite/showdoc.db.php', 改为 'DB_NAME' => './Sqlite/showdoc.db.php',,问题解决了

这样修改后,通过后台又找不到数据文件了,应该是从后台请求和从开放接口的当前工作目录不同导致的

star7th commented 3 months ago

你调用的是哪个开放api,把地址发下。感觉是你写错地址了

star7th commented 3 months ago

比如说url里是不是少了一个 /server 路径

yongjuntang commented 3 months ago

比如说url里是不是少了一个 /server 路径 1768172726 使用的这个路径,showdoc容器也是用的docker启动的,带着--privileges=true --user=root

star7th commented 3 months ago

少了一个 /server 路径。/server/index.php?xxxxxx

yongjuntang commented 3 months ago

少了一个 /server 路径。/server/index.php?xxxxxx

加上后解决了,感谢