昨晚弄的docker,查询妥妥的, 今天上午死活查不出数据,本地各种debug都OK。 线上就是查不出来。
后来偶然发现,docker的nginx的日志时间是6点多,明明是14点嘛~~ 然后进容器用date一看,我靠,果然差8小时。
一搜: docker run的时候加这个就行了: -v /etc/localtime:/etc/localtime:ro -e TZ="Asia/Shanghai" 使用主机的时区,ro好像是只读的意思吧。
然后把容器删除了,重新run,马上就查出数据了。 好坑爹。
-v和-e都要加!!! -v是系统时间,-e是JVM时间
可参考: https://www.cnblogs.com/zengming/p/10190317.html -------------------------------------- 将容器内时区修改为8区
# 停止容器 docker stop nginx # 删除容器 docker rm nginx # 创建并运行容器,通过 -e TZ="Asia/Shanghai" 设置时区 docker run -e TZ="Asia/Shanghai" -d -p 80:80 --name nginx nginx # 进入容器shell docker exec -it nginx /bin/bash # 查看时区 date -R
|