问题:mac 安装的 virtualbox 虚拟机,通过 vboxsf 文件共享系统将本机项目文件共享至虚拟机,虚拟机中通过 docker 容器运行了 nginx 项目,访问项目时返回 404,查看项目 nginx 错误日志:permission denied
。
解决:先查询虚拟机 vboxsf 用户组ID:
cat /etc/group
... vboxsf:x:994:nginx,www-data # 记住 ID 994 ...
我是通过 dockerfile 部署的,分别在 nginx 和 php 的 Dockerfile 文件中添加
# php 的 Dockerfile RUN groupadd --gid 994 vboxsf # 添加与容器外对应 ID 的用户组 RUN usermod -aG vboxsf www-data # 将容器运行的用户分配到该组 # nginx 的 Dockerfile RUN groupadd --gid 994 vboxsf RUN usermod -aG vboxsf nginx
以上的
www-data
,nginx
用户均为默认用户,如有修改配置需要根据配置调整
重启容器解决!