docker部署springboot项目启动时间与宿主机相差8小时的解决
问题描述:
docker部署springboot项目时明明指定了镜像和启动容器的时区,但是进入docker系统时间还是不对。
Dockerfile:
# 基础镜像 FROM openjdk:8 #申明一个环境变量 #ENV HOME_PATH /home #指定容器启动时,执行命令会在该目录下执行 #WORKDIR $HOME_PATH #应用构建成功后的jar复制到容器指定目录下 ENV TZ="Asia/Shanghai" COPY . . ADD target/test.jar test.jar #容器启动时执行的命令 ENTRYPOINT ["java","-jar","-Xms512m","-Xmx512m","-Xss256k","test.jar"]
Docke-compose:
version: '3' services: test-service: # 指定容器名称 container_name: test # 重启机制 restart: always image: test:v2.0.3 volumes: # 挂载日志和时区 - ./log:/log - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "39084:39084" environment: # 指定时区 - TZ="Asia/Shanghai"
宿主机时间:
ubuntu@VM-0-12-ubuntu:$ date -R Mon, 28 Nov 2022 17:55:52 +0800
进入docker机器看时间
docker exec -it 容器名 date -R Mon, 28 Nov 2022 09:58:08 +0000
发现相差了8小时。
解决方法:
在启动java 项目时加上-Duser.timezone=GMT+08参数,指定时间。
具体Dockerfile
# 基础镜像 FROM openjdk:8 #申明一个环境变量 #ENV HOME_PATH /home #指定容器启动时,执行命令会在该目录下执行 #WORKDIR $HOME_PATH #应用构建成功后的jar复制到容器指定目录下 ENV TZ="Asia/Shanghai" COPY . . ADD target/test.jar test.jar #容器启动时执行的命令 ENTRYPOINT ["java","-jar","-Xms512m","-Xmx512m","-Xss256k","-Duser.timezone=GMT+08","test.jar"]
docker logs -f 容器名 查看项目时间发现已经正常。
2022-11-28 17:56:54.968 INFO 1 [http-nio-39084-exec-1]{magenta} --- [io-39084-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started 2022-11-28 17:56:54.987 INFO 1 [http-nio-39084-exec-1]{magenta} --- [io-39084-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 19 ms 2022-11-28 17:56:55.018 INFO 1 [http-nio-39084-exec-1]{magenta} --- [io-39084-exec-1] c.m.o.lims.service.filter.LoginFilter : --------------> request method : GET 2022-11-28 17:56:55.018 INFO 1 [http-nio-39084-exec-1]{magenta} --- [io-39084-exec-1] c.m.o.lims.service.filter.LoginFilter : --------------> request url : /api/cxmxv1/excel/downloadMasterExcel
到此这篇关于docker部署springboot项目启动时间与宿主机相差8小时的解决的文章就介绍到这了,更多相关docker部署springboot差8小时内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Docker安装MySQL并使用Navicat连接的操作方法
这篇文章主要介绍了Docker安装MySQL并使用Navicat连接,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-09-09解决docker加载新的镜像后repository和tag名称都为none的问题
这篇文章主要介绍了解决docker加载新的镜像后repository和tag名称都为none的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11
最新评论