Docker容器

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

本文主要是介绍虚拟机 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 用户均为默认用户,如有修改配置需要根据配置调整

重启容器解决!

这篇关于虚拟机 vboxsf 文件夹权限导致 docker 容器中的 nginx 权限不足问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!