关于Dockerfile部署nginx,访问静态资源403Forbidden问题
今天项目遇到一个问题,服务器部署的nginx,在访问静态图片返回403 Forbidden。
容器是采用Dockerfile部署的,代码如下:
FROM nginx:latest
MAINTAINER Zteel Zhan
# 拷贝html
COPY html /usr/share/nginx/html
# 拷贝配置文件
COPY nginx.conf /etc/nginx
EXPOSE 80
WORKDIR /usr/local/nginx
CMD ["nginx","-g","daemon off;"]
非常低调奢华的一段代码,感觉一点毛病都没有的样子,但还是出了问题~
根据经验判断403 Forbidden是文件访问权限问题,但是我没有挂载宿主机目录,我只是直接拷贝了宿主机中的html文件夹到容器里面。难道是这个原因?
所以我创建的时候给html文件夹加了可访问权限。代码修改如下:
FROM nginx:latest
MAINTAINER Zteel Zhan
# 拷贝html
COPY html /usr/share/nginx/html
# 添加目录可访问权限
RUN chmod -R 755 /usr/share/nginx/html
# 拷贝配置文件
COPY nginx.conf /etc/nginx
EXPOSE 80
WORKDIR /usr/local/nginx
CMD ["nginx","-g","daemon off;"]
重新发布,问题解决~
(>_<)