Docker部署Directus时数据库与上传目录写入权限异常排查
部署Directus时数据库与上传目录无法写入的权限问题
问题背景
在全新安装的Ubuntu服务器上,以root用户运行Docker部署Directus,本地创建目录并运行Docker无异常,但将目录复制到服务器后出现数据库文件和上传目录无法写入的问题。
docker-compose配置
version: "3" services: directus: image: directus/directus:latest ports: - 8055:8055 volumes: - ./database:/directus/database - ./uploads:/directus/uploads - ./extensions:/directus/extensions environment: SECRET: "itsasecret" ADMIN_EMAIL: "user" ADMIN_PASSWORD: "passw" DB_CLIENT: "sqlite3" DB_FILENAME: "/directus/database/data.db" WEBSOCKETS_ENABLED: "true"
错误日志
登录时的只读错误
Error: update `directus_sessions` set `next_token` = 'j8t5_CoKeRR7wCF5dc4k10uraO36fOFLuUzWGe31I64GqH2_SIFL1KYX0u_n5Nsm', `expires` = '2024-06-26 10:17:36.856' where `token` = 'eOfOA0DTJyQT7c3LkkAT5VApa7UDOjDhFaWVWjw1vzmCKplvAfc_iBZF7FHbdtJE' and `next_token` is null returning `next_token` - SQLITE_READONLY: attempt to write a readonly database
上传文件时的权限错误
directus-1 | [23:28:26.805] WARN: EACCES: permission denied, open '/directus/uploads/e7a8bd40-3e7d-4fd2-aeff-aa45598f967f.png' directus-1 | err: { directus-1 | "type": "Error", directus-1 | "message": "EACCES: permission denied, open '/directus/uploads/e7a8bd40-3e7d-4fd2-aeff-aa45598f967f.png'", directus-1 | "stack": directus-1 | Error: EACCES: permission denied, open '/directus/uploads/e7a8bd40-3e7d-4fd2-aeff-aa45598f967f.png' directus-1 | "errno": -13, directus-1 | "code": "EACCES", directus-1 | "syscall": "open", directus-1 | "path": "/directus/uploads/e7a8bd40-3e7d-4fd2-aeff-aa45598f967f.png" directus-1 | }
已尝试的操作
- 将root用户加入docker组,执行命令:
组信息验证结果:sudo groupadd docker sudo usermod -aG docker $USERgrep 'docker' /etc/group docker:x:987:root - 尝试将数据库和上传目录权限改为777(仅测试用,登录恢复正常但上传仍报错)
- 尝试将目录权限改为755,问题依旧
请问我哪里操作有误?
内容的提问来源于stack exchange,提问作者user1607016
相关产品推荐
相关产品推荐

