docker部署镜像时可以采用Dockerfile文件或者pom文件打包镜像,我个人喜欢采用pom.xml文件部署,而且部署完会自动生成Dockerfile文件,省略了自己编写,可以看我的小demo
手把手教你用idea部署springboot项目到远程docker
但是用镜像创建的容器和宿主机的时间是相差8个小时的,在容器上跑的时候会报错
Caused by: java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-01882: timezone region not found
那如何解决这个问题呢,找遍了全网也找不到只修改pom文件的前提下解决,其他博主的方法都是修改Dockerfile文件添加这一句话,根本找不到直接改pom.xml文件的
ENV TZ=Asia/Shanghai
但是我就是只想改pom.xml文件啊,有pom.xml文件打包成镜像后自动生成Dockerfile文件它不香吗?干嘛还要再写一个。
后来发现只要在pom.xml文件的<entryPoint>标签里面添加-Duser.timezone=GMT+08这句话就可以了

重新打包镜像,完美解决。
POM文件解决SpringBoot Docker时区问题
本文介绍了一种仅通过修改POM.xml文件,而非Dockerfile,来解决SpringBoot项目在Docker容器中运行时遇到的时区错误问题。通过在POM.xml的<entryPoint>标签内添加-Duser.timezone=GMT+08参数,成功避免了容器与宿主机间8小时的时差导致的ORA-01882错误。

被折叠的 条评论
为什么被折叠?



