哦吼
之前刚说了尝试了使用docker来部署AspNetCore应用(Asp.Net Core部署:早知道,还是docker!以及一点碎碎念),结果这才刚上班就遇到问题了= =…
我这项目用的数据库是Oracle,之前直接运行没啥问题,但放在docker里运行就报了这个错误:
ORA-01882: timezone region not found
看这错误信息是在说时区不对,分别在服务器和docker里看一下时间:
[root@localhost ~]# date -R
Mon, 29 Nov 2021 17:07:30 +0800
root@9abab841b6b4:/app# date -R
Mon, 29 Nov 2021 09:08:22 +0000
嗯,果然是时区设置不对…
经过搜索引擎的努力,我找到了简单的解决方法:
在项目的Dockerfile
里最后加上两行代码就行~
#设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
重新docker-compose up
,问题果然解决了~
参考资料
https://blog.csdn.net/LIKEGAKKI/article/details/120758276
解决netcore在docker容器中连接oracle报错(timezone region not found):https://www.cnblogs.com/xtjatswc/p/11350262.html