docker解决tomcat时区问题

编程

首先上服务器执行date 
发现是CST没问题

突然想起来用的是docker 
进docker执行date

docker exec -it tomcat1 /bin/bash

 嗯果然是UTC

 

删除容器重新启动镜像并加上参数 -v /etc/localtime:/etc/localtime,再进去时区已经和本机一致是CST了

sudo docker run -it -d --name="tomcat1" 

-v /etc/localtime:/etc/localtime:ro

-v /$PWD/logs:/logs/contribution

-v /$PWD/yuegao:/usr/local/tomcat/webapps/yuegao

-p 8080:8080

-t tomcat:8.5.40

可是java获取的时区却还是UTC的

继续找资料。。。。

jre是通过配置文件读取本地时间的:/etc/timezone 
所以把时区加进去: 

docker exec -it tomcat1 /bin/bash

echo "Asia/Shanghai" > /etc/timezone

重启了容器(必须!!!)

问题解决

以上是 docker解决tomcat时区问题 的全部内容, 来源链接: utcz.com/z/511007.html

回到顶部