问题描述:
项目打包部署到linux服务器下docker容器内,数据出现插入时间与当前时间不符。
原因分析:
首先,开发环境中,时间没问题,那么问题就是以下可能:
1》服务器时间设置问题:
正确的时间显示 有 CST,表明服务器时间设置是没问题的
2》数据库连接时区设置问题:
项目中配置的 serverTimezone=UTC,很明显 UTC时间与当前本地时间差8小时
解决方案:
修改 serverTimezone=UTC 为
serverTimezone=Asia/Shanghai
项目部署到docker环境下的,解决方案二种:
1、利用Dockerfile创建镜像时。在Dockerfile中加入
//Centos
ENV TIME_ZONE=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone
//Ubuntu
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2、容器创建时。加入时区挂载选项:-v /etc/localtime:/etc/localtime
docker run -d -p 5002:80 -v /etc/localtime:/etc/localtime --name dotnetcontainer dotnetimage
转载自:https://blog.csdn.net/weixin_41634885/article/details/108791620