Nginx的泊坞窗(13:权限被拒绝)logging请求挂载卷

我正在使用nginx版本:nginx / 1.11.8

我的docker文件如下所示:

FROM nginx COPY website /usr/share/nginx/html/website/ RUN chown -R nginx /usr/share/nginx/html RUN chown -R nginx /var/log/nginx/ EXPOSE 80 

我正在为我的访问日志名称使用variables,如下所示。 当没有安装到主机上的目录运行时,这工作正常,日志产生。

 location / { try_files $uri /index.html; if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") { set $year $1; set $month $2; set $day $3; } access_log /var/log/nginx/nginx.$hostname.$year-$month-$day.log logs; } 

我的主机日志目录是owner:steve group:logs

如果我从访问日志名称中删除variables,那么它正确地logging到主机目录,即

 access_log /var/log/nginx/nginx.novars.log logs; 

我错过了明显的东西让这个工作使用variables?

原来是位置块内导致问题的if语句。 这工作,并允许我按date旋转我的日志文件。

 http { include /etc/nginx/conf/*.conf; include /etc/nginx/mime.types; server { listen 80 default_server; root /usr/share/nginx/html/; underscores_in_headers on; if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") { set $year $1; set $month $2; set $day $3; } location / { index index.html index.htm; try_files $uri $uri/ /index.html$query_string; access_log /var/log/nginx/nginx.agent-ux.$hostname.$year-$month-$day.log logs; } } }