0

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

FROM nginx

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

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

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

我已经对此进行了搜索,并且知道它与文件权限有关。
但是我应该为此设置什么权限/所有者?我试过chowningwww-datanginx. chmoding也+rwx没有帮助。
我的问题是:我到底应该怎么做?无论解决方案是什么,为什么官方文档中没有提到它?

编辑:

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

FROM nginx
# Just it!
4

1 回答 1

0
FROM nginx:alpine

COPY directory_containing_index  /usr/share/nginx/html

这对我来说很好。

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

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

于 2019-09-20T19:30:41.740 回答