You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bahmni Docker部署后文档上传权限问题求助

解决Bahmni Docker文档上传权限异常问题

核心原因

patient-document服务的运行用户(通常为tomcat)对document_uploads文件夹没有持久读写权限,手动修改权限后,新上传文件会继承应用进程的用户权限配置,导致UI无法读取文件。

具体解决方案

1. 容器内持久化设置文件夹所有者

进入patient-document容器,先确认应用运行的用户:

docker exec -it patient-document /bin/bash
ps aux | grep java

找到进程所属用户(一般是tomcat),将document_uploads文件夹的所有者改为该用户:

# 替换为容器内document_uploads的实际路径,可通过find / -name document_uploads查找
chown -R tomcat:tomcat /var/www/bahmni_config/document_uploads

2. 修改Docker Compose配置(避免容器重启后权限重置,推荐)

编辑docker-compose.yml中patient-document服务的配置,添加启动时自动设置权限的命令:

services:
  patient-document:
    # 保留原有配置
    command: >
      bash -c "chown -R tomcat:tomcat /var/www/bahmni_config/document_uploads && catalina.sh run"

或者直接指定服务运行用户(需先通过docker exec patient-document id tomcat获取用户UID/GID):

services:
  patient-document:
    # 保留原有配置
    user: "1000:1000" # 替换为实际UID:GID

修改后重启服务:

docker-compose up -d patient-document

3. 检查宿主机挂载卷权限(若使用宿主机目录挂载)

如果document_uploads是挂载的宿主机目录,确保宿主机目录的所有者与容器内应用用户的UID/GID一致:

# 查看容器内用户UID/GID
docker exec patient-document id tomcat
# 宿主机修改目录权限
chown -R 1000:1000 /宿主机上的document_uploads路径

验证方法

上传新文档后,检查容器内文件权限:

docker exec patient-document ls -l /var/www/bahmni_config/document_uploads

确保文件所有者为应用运行用户,权限至少为rw-r--r--,此时UI即可正常读取文件。


内容的提问来源于stack exchange,提问作者Madhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 00:40:04