官方 nginx docker 在提供静态文件时给出 403 Forbidden

Official nginx docker gives 403 Forbidden when serving static files

我正在使用 nginx docker image 来提供一个简单的 index.html 文件。
如快速指南中所述,我有一个 Dockerfile 包含:

FROM nginx

COPY www-root-dir /usr/share/nginx/html

www-root-dir 只包含一个 index.html 文件) 但是当我运行这张图片时,它returns403 Forbidden。在日志中它说:

 [error] 7#7: *2 "/usr/share/nginx/html/index.html" is forbidden (13: Permission denied),

我搜索过这个,知道是关于文件权限的。
但是我应该为此设置什么permission/owner?我已经尝试 chowning 到 www-datanginxchmoding +rwx 也没有帮助。
我的问题是:我到底应该做什么?而且无论解决方案是什么,为什么官方文档中没有提到它?

编辑:

我也尝试过不使用自定义 html 文件。
这个简单的 Dockerfile 但响应相同:

FROM nginx
# Just it!
FROM nginx:alpine

COPY directory_containing_index  /usr/share/nginx/html

这对我来说很好。

与 ubuntu 等同类产品相比,高山版本的尺寸非常小。 您可以在不定义自己的 Dockerfile 的情况下对其进行测试,例如

docker run --rm -v /directory_containing_index:/usr/share/nginx/html -p 8080:80 nginx:alpine