如何同步在docker容器上运行的java应用程序的时间?

Rys*_*Rys 5 java docker spring-boot microservices dockerfile

我是这样的docker文件:

FROM anapsix/alpine-java:jre8 
ADD service-god-sac-1.0.0-SNAPSHOT.jar app.jar 
ENTRYPOINT ["java", "-Xmx64m", "-XX:MaxMetaspaceSize=64m", "-jar", "/app.jar"]
Run Code Online (Sandbox Code Playgroud)

当我编译和部署应用程序时使用此设置时间:

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

我注意到主机时间和包含时间是同步的,但是应用程序的日志显示的是不同的时间,即UTC时间.如何同时同步主机,容器和Java应用程序?

Rys*_*Rys 4

映射当地时间和时区效果非常好。

例子:

docker run -d -v /var/lib/elasticsearch:/var/lib/elasticsearch -v /etc/localtime:/etc/localtime:ro -v /usr/share/zoneinfo/America/Buenos_Aires:/etc/timezone: ro -p 80:80/tcp -p 9200:9200/tcp -p 514:514/udp petergrace/elk