Ubuntu系统Docker部署vaultwarden文件共享权限异常求助
解决Vaultwarden Docker部署权限拒绝问题
问题核心
容器内进程无权限写入宿主机/opt/vw目录,导致无法生成密钥文件rsa_key.pem,启动失败。
修复方案
1. 临时测试权限(快速验证)
先停止容器,给目录开放其他用户写权限,验证是否为权限问题:
docker-compose down chmod o+w /opt/vw docker-compose up -d
若容器启动成功且/opt/vw生成文件,说明确实是权限问题,再执行后续安全配置。
2. 匹配容器默认用户ID(推荐)
Vaultwarden容器默认以uid=1000、gid=1000的用户运行,将宿主机目录权限匹配该用户:
# 创建对应用户组(若不存在) groupadd -g 1000 vwgroup useradd -u 1000 -g vwgroup vwuser # 修改目录所属权限 chown -R vwuser:vwgroup /opt/vw # 重启容器 docker-compose down && docker-compose up -d
3. 强制容器以root运行(应急方案,不推荐)
若上述方法无效,可临时在docker-compose.yml中添加用户参数强制root启动:
version: "3.9" services: vaultwarden: image: vaultwarden/server:latest restart: unless-stopped user: "root:root" # 新增该行 volumes: - /opt/vw:/data ports: - "80:80" - "3012:3012"
⚠️ 注意:root运行存在安全风险,问题解决后建议改回默认配置。
4. 检查Docker用户命名空间
若/etc/subgid和/etc/subuid配置正常仍异常,可尝试关闭Docker用户命名空间(仅Linux):
- 编辑
/etc/docker/daemon.json:
{ "userns-remap": false }
- 重启Docker服务:
systemctl restart docker
再重新启动容器。
验证
容器启动后执行ls -la /opt/vw,若看到rsa_key.pem等文件,说明权限配置生效,容器运行正常。
内容的提问来源于stack exchange,提问作者H0meless
相关产品推荐
相关产品推荐

