覆盖文件系统时Docker 权限错误

覆盖文件系统时Docker 权限错误

我有 2 个磁盘驱动器,一个 HDD 和 1 个 SSD。

我正在尝试将较小、较常用的文件拆分到 SSD 上,将较大、较不常用的文件拆分到 HDD 上。这个方法一直有效,我现在正在将另一个目录添加到 SSD 上

我在 docker-compose.yml 中有以下内容

    volumes:
        - ./html:/var/www/html
        - ./data:/var/www/html/data
        - ./preview:/var/www/html/data/appdata/preview/

底线(预览)是我正在添加的。

添加最后一行时我得到以下内容

ERROR: for container  Cannot start service container: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/path/to/preview\\\" to rootfs \\\"/var/lib/docker/overlay2/6cf2fbd3f765322b65074279115acc2d0243a2bd8356bf9211794c734b7f22ce/merged\\\" at \\\"/var/www/html/data/appdata/preview\\\" caused \\\"lstat /var/lib/docker/overlay2/6cf2fbd3f765322b65074279115acc2d0243a2bd8356bf9211794c734b7f22ce/merged/var/www/html/data/appdata: permission denied\\\"\"": unknown
ERROR: Encountered errors while bringing up the project.

我不能 100% 确定这个权限错误在哪里。我检查了 apparmor,检查了 3 个文件挂载的权限,看起来都正确。

在容器 /tmp 中挂载时目录挂载正确,所以我认为这与嵌套有关,有没有办法获取有关此的更多信息?

答案1

namei -l在容器中有帮助。

Root 没有该目录下某条路径的 x 权限,因此无法挂载到该目录,向该目录添加 +x 可以解决该问题

相关内容