SpringCloud程序员

SpringBoot项目运行起来少8小时时区设置问题

2022-12-10  本文已影响0人  葉糖糖

在Linux系统中运行.sh脚本文件,然后配合docker实现自动化部署,提高生产效率。

一、运行.sh脚本文件
1、cd到目标文件夹;
2、给.sh文件赋权限;
chmod u+x 文件名.sh
3、执行脚本文件
sh 文件名.sh

二、Docker容器同步宿主机时区及时间

起因是项目部署到docker环境,数据库中的时间总是少8个小时,然后开始了一系列望闻问切,甚至连宿主机的时钟都修复了,最后发下没什么效果,但是不影响我们学习如何同步时区。

# 方法1:直接在宿主机操作
docker cp /etc/localtime 【容器ID或者NAME】:/etc/localtime
docker cp -L /usr/share/zoneinfo/Asia/Shanghai 【容器ID或者NAME】:/etc/localtime

# 方法2:登录容器同步时区timezone
ln -sf /usr/share/zoneinfo/Asia/Singapore /etc/localtim

三、如何解决问题的?

话接上题目,最后是在程序里的Application启动类中设置时区来解决这个问题,虽然这不是最好的方案,但是管用啊。╮(╯▽╰)╭

    @PostConstruct
    void started() {
        TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
    }

PS:还是得多尝试才能深入的理解为什么,从而更好的解决问题。

上一篇下一篇

猜你喜欢

热点阅读