AspNetCore在docker里访问Oracle数据库的坑:ORA-01882: timezone region not found

哦吼

之前刚说了尝试了使用docker来部署AspNetCore应用,结果这才刚上班就遇到问题了= =…

我这项目用的数据库是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,问题果然解决了~

参考资料

posted @ 2021-11-29 17:14  程序设计实验室  阅读(92)  评论(0编辑  收藏  举报