虚拟机 vboxsf 文件夹权限导致 docker 容器中的 nginx 权限不足问题


问题: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 用户均为默认用户,如有修改配置需要根据配置调整

重启容器解决!

原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/270972.html

(0)
上一篇 2022年7月2日
下一篇 2022年7月2日

相关推荐

发表回复

登录后才能评论