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

Ubuntu下Docker卷目录无法进入:Permission denied问题求助

解决Docker卷挂载目录Permission Denied的问题

Docker默认会将卷的挂载目录所有权设置为root用户,普通用户直接访问会触发权限拒绝错误,以下是几种解决方法:

临时访问(快速查看内容)

  • 切换到root用户后访问:
    sudo su
    cd /var/lib/docker/volumes/web-volume/_data
    
  • 无需切换用户,直接用sudo执行查看命令:
    sudo ls -l /var/lib/docker/volumes/web-volume/_data
    

修改宿主机目录权限(长期普通用户访问)

注意:直接修改Docker默认存储目录权限可能存在安全风险,请根据实际场景评估后操作。

  1. 先查看当前目录的权限信息:
    sudo ls -ld /var/lib/docker/volumes/web-volume/_data
    
    输出会显示该目录的所有者为root:root。
  2. 将目录所有者改为你的普通用户(替换your_username为实际用户名):
    sudo chown -R your_username:your_username /var/lib/docker/volumes/web-volume/_data
    
  3. 或者放宽目录权限(让其他用户拥有读写权限):
    sudo chmod -R 775 /var/lib/docker/volumes/web-volume/_data
    

更规范的容器侧权限配置

如果你的需求是让容器内应用正常访问卷,更推荐从容器层面配置权限,避免修改宿主机Docker目录:

  • 在Dockerfile中指定运行用户:
    # 创建普通用户
    RUN useradd -m appuser
    # 切换到该用户运行容器
    USER appuser
    
    构建镜像后启动容器,卷的权限会自动适配容器内的普通用户。
  • 启动容器时指定宿主机用户ID:
    docker run -v web-volume:/container/path --user $(id -u):$(id -g) your_image_name
    
    这样容器内进程的UID/GID和宿主机当前用户一致,卷的权限会自动匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 00:07:13