我试图将文件夹安装到“/usr/share/nginx/html/
” 并且 Docker 控制台显示错误“[error] 28#28: *1 directory index of /usr/share/nginx/html/ is forbidden
“。我使用此命令来安装卷”docker-share dilrukshi$ docker run -d -p 8080:80 --name web -v ~/docker-share/html:/usr/share/nginx/html nginx
”并且我还使用了 nginx/1.19.3 官方 NGINX Docker 镜像。在网页显示中,出现“403 Forbidden”错误,并且“/usr/share”文件夹没有“/nginx/html”。有什么问题吗? ?以及我该如何修复它?
Docker 控制台
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
172.17.0.1 - - [20/Oct/2020:07:09:41 +0000] "GET / HTTP/1.1" 403 555 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36" "-"
2020/10/20 07:09:41 [error] 28#28: *1 directory index of "/usr/share/nginx/html/" is forbidden, client: 172.17.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost:8080"
浏览器错误
看起来像是文件夹权限的问题。尝试执行以下命令:
chmod -R 755 ~/docker-share/html
当您将主机文件夹映射到容器中时,文件的所有权将得到维护。例如
如果执行以下命令
docker run -it --rm -v "~/docker-share/html:/usr/share/nginx/html" nginx:alpine
你会得到这样的东西:
total 12
drwx--x--x 2 1000 1000 4096 Oct 20 07:48 .
drwxr-xr-x 3 root root 4096 Jan 9 2020 ..
-rwx--x--x 1 1000 1000 83 Oct 20 07:48 index.html
在我的例子中,该文件夹由 1000 拥有(在你的例子中,你会找到你的 uid)。 nginx 容器将使用nginx
其工作人员的用户(uid:101)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)