www-data 用户无法通过 Docker 容器访问 Virtualbox 共享文件夹

www-data user cannot access a Virtualbox shared folder through Docker container

我在 Windows 10 主机上有一个 Ubuntu 服务器 VM 运行,其中外部硬盘驱动器上的文件夹被传递到装载点 /NextCloudStorage 的 VM。通过将普通用户添加到 vboxsf 用户组,我可以从普通用户和 root 用户访问此文件夹。

我的 Docker Compose 文件包含这个以通过 /NextCloudStorage 传递到容器:

volumes:
      - nextcloud:/var/www/html
      - .:/code
      - /NextCloudStorage:/NextCloudStorage

使用 docker exec -it nextcloud-app-1 bash 时,我可以使用 cd /NextCloudStoragemkdir test1 等命令实时与共享文件夹交互

我的问题是容器中的应用程序 运行 无法访问此文件夹,因为它以 www-data 运行。 ls 命令将文件夹列为空,尝试在文件夹中创建项目时出现错误 "permission denied"

有谁知道如何授予 www-data 用户访问此共享文件夹的权限?

抱歉拖了这么久 post 但我不得不说出来!

谢谢!

您可以尝试将 www-data 用户添加到 vboxsf

为此,我们需要找出组 ID。 In the virtual machine run

cat /etc/group

你会看到这样的东西


Then in your container,如果这个组不存在创建它

在这种情况下,我们需要使用的 gid 是 115

groupadd --gid 115 vboxsf

接下来将此组添加到您的 www-data user

usermod -aG vboxsf www-data

更新: 尝试在容器运行中以root身份运行执行以下命令

chmod -R 777 /NextCloudStorage