nginx在系统的环境参数TZ中获得当前时区信息, 以在access.log正确写入$time_local.
容器中默认为0时区, 因此需要设置容器的TZ环境变量: TZ="Asia/Shanghai".
如果用docker-compose启动的容器, 可以在docker-compose.yml配置中, 对应nginx容器的service段, 使用environment参数设置即可, 示例如下:
services:
nginx:
environment:
TZ: 'Asia/Shanghai'
如果是用docker run直接启动的, 在dockerfile中添加ENV TZ="Asia/Shanghai"即可.
特别地, 如果使用了分阶段构建, 确定此项设置在最后一个构建阶段中.