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

使用Docker Compose部署HAPI FHIR Server遇权限拒绝异常

解决Docker Compose运行HAPI FHIR Server的权限错误

错误信息

Caused by: java.nio.file.AccessDeniedException: /app/target
hapi-fhir-jpaserver-start | at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
hapi-fhir-jpaserver-start | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
hapi-fhir-jpaserver-start | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
hapi-fhir-jpaserver-start | at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:397)
hapi-fhir-jpaserver-start | at java.base/java.nio.file.Files.createDirectory(Files.java:700)
hapi-fhir-jpaserver-start | at org.h2.store.fs.disk.FilePathDisk.createDirectory(FilePathDisk.java:347)
hapi-fhir-jpaserver-start | ... 143 common frames omitted

解决方案

  • 匹配卷挂载权限

    1. 先检查docker-compose.yml是否将本地目录挂载到了容器内的/app/target。如果是,先获取容器内服务运行用户的UID和GID:
      docker run --rm -it hapiproject/hapi-fhir-jpaserver:latest id
      
    2. 给本地挂载目录设置对应权限:
      chown -R [容器UID]:[容器GID] ./本地挂载目录路径
      

    也可以直接在docker-compose.yml的服务块中指定运行用户:

    services:
      hapi-fhir-jpaserver-start:
        user: "1000:1000" # 替换为上面查到的UID:GID
    
  • 调整H2数据库存储路径
    错误是H2数据库尝试创建/app/target目录失败导致的,可通过环境变量修改存储位置:
    在docker-compose.yml的服务环境变量中添加:

    environment:
      # 使用内存数据库(无需磁盘存储)
      - H2_DATABASE_URL=jdbc:h2:mem:hapifhir
      # 或者持久化到容器内有权限的目录
      # - H2_DATABASE_URL=jdbc:h2:/tmp/hapifhir
    
  • 构建自定义镜像修正目录权限
    如果官方镜像本身权限配置有问题,可构建自定义镜像:
    创建Dockerfile:

    FROM hapiproject/hapi-fhir-jpaserver:latest
    RUN mkdir -p /app/target && chown -R hapi:hapi /app/target
    

    修改docker-compose.yml使用自定义镜像:

    services:
      hapi-fhir-jpaserver-start:
        build: .
        # 其他配置保持不变
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:22:41