# 问题描述

我之前一直习惯在VMware中的Linux环境运行Docker,现在更换了VirtualBox,我把共享文件夹中的文件挂载到Docker中会出现权限问题,比如在容器中挂载文件夹为空,容器不能读写挂载文件夹中的文件。这是因为VirtualBox(6.1.x)的默认挂载用户为root,用户组为vboxsf,文件的权限为770,也就是用户组之外的用户权限没有,这就导致容器内以一些其他用户运行的程序没有权限操作该文件夹的内容,这个时候就需要更改VirtualBox默认的挂载。

# 操作流程

首先将VirtualBox中的自动挂载取消,其配置如下:

mountInfo

然后打开虚拟机,先手动挂载下,进行测试:

mount -t vboxsf -o uid=0,gid=0,umask=0000 sharedFolder /mnt/hgfs/sharedFolder

然后我们让虚拟机开机自动挂载,打开/etc/fstab,在最后一行添加:

sharedFolder /mnt/hgfs/sharedFolder vboxsf auto,rw,uid=0,gid=0,umask=0000 0 0

这样虚拟机开机的时候会自动挂载该目录,其权限是777,所属用户为root,所属用户组为root。