docker容器与系统时间一致并且正确,但是java程序在运行中通过log日志发现发了8小时
解决方法
修改docker容器中tomcat/bin/catalina.sh文件,添加一下内容
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"
附 操作命令
一.通过直接修改catalina.sh
因docker容器中没有vi,所以需要将其cp出来,修改后,在cp进容器
docker cp tomcat8080:/usr/local/tomcat/bin/catalina.sh /root
进行修改将
JAVA_OPTS=”$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08” 写入catalina.sh文件中
写入后保存
将其cp到容器中
docker cp /root/catalina.sh tomcat8080:/usr/local/tomcat/bin/
然后重启容器
二. 通过setenv.sh
可以在宿主机创建文件setenv.sh
将JAVA_OPTS=”$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08” 写到文件中
然后将setenv.sh cp到docker容器tomcat/bin 目录下
然后重启tomcat容器