如何修改 docker容器 java 程序的时区
- 如果单独只是修改docker容器的时区, 修改
/etc/localtime
使本地时间正确(对应linux的date指令正确),
执行
docker run -d --name assetshealthiness-service -v /data/saas/health:/logs -v /etc/localtime:/etc/localtime:ro -p 9002:9002 10.122.61.199/saas/assetshealthiness-service:test
使用date -R
命令就可以得到八时区的时间。
但是此时jvm时区并没有变化,还是UTC+0。还需要修改/etc/timezone
使得时区正确(对应Java时间正确)。
也即是共有两个文件要修改,修改/etc/localtime
使本地时间正确(对应linux的date指令正确) ,还需要修改/etc/timezone
使得时区正确(对应Java时间正确)。
在宿主机里面执行下面的两条命令:
echo ‘Asia/Shanghai’ >/etc/timezone
docker run -d —name assetshealthiness-service -v /data/saas/health:/logs -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -p 9002:9002 10.122.61.199/saas/assetshealthiness-service:test
这样两步后,docker 容器和里面的java应用的时间都是UTC+8了。
还没有评论,来说两句吧...