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

问题描述 投票:0回答:1

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

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

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

使用

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

我的问题是容器中运行的应用程序无法访问此文件夹,因为它以

www-data
身份运行。
ls
命令将文件夹列为空,当尝试在文件夹中创建项目时,出现错误
"permission denied"

有人知道如何授予

www-data
用户访问此共享文件夹的权限吗?

很抱歉这篇文章很长,但我不得不把它说出来!

谢谢!

docker virtualbox ubuntu-server
1个回答
2
投票

您可以尝试将

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
© www.soinside.com 2019 - 2024. All rights reserved.