Официальный докер nginx выдает 403 Forbidden при обслуживании статических файлов - PullRequest
0 голосов
/ 20 сентября 2019

Я использую образ докера nginx для обслуживания простого файла index.html.
Как уже упоминалось в кратком руководстве, у меня есть Dockerfile, содержащий:

FROM nginx

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

(www-root-dir просто содержит файл index.html). Но когда я запускаю этот образ, он возвращает 403 Запрещено.И в журналах написано:

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

Я искал об этом и знаю, что речь идет о правах доступа к файлу.
Но какое разрешение / владельца я должен установить для этого?Я пробовал chown в www-data и nginx.Также chmod ing +rwx не помог.
Мой вопрос: что именно мне делать?И каким бы ни было решение, почему оно не упомянуто в официальных документах?

Редактировать:

Я также пытался без пользовательского html-файла.
Этот простой Dockerfile все же отвечает тем же:

FROM nginx
# Just it!

1 Ответ

0 голосов
/ 20 сентября 2019
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

...