使用docker的tomcat环境部署应用后,系统时间滞后8小时,通过以下启动命令后,docker的系统时间和宿主机一直了,
但是java应用中产生的日志、数据库记录等时间依然是时区0的时间。
docker run --name tomcat -p 8080:8080 -v /opt/web/webapps:/usr/local/tomcat/webapps -v /opt/web/logs:/usr/local/tomcat/logs -v /etc/localtime:/etc/localtime -d tomcat
docker中的java应用获取时间是从 timezone中获取,因此进入docker,修改timezone
docker exec -it tomcat /bin/bash
在docker中执行
echo "Asia/Shanghai" > /etc/timezone
cat /etc/timezone
显示上海时区,发现问题解决,java应用的时间为东八区时间。