docker部署springboot项目启动时间与宿主机相差8小时的解决

 更新时间:2023年09月18日 14:35:19   作者:、 尘  
项目部署到docker环境,数据库中的时间总是少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搭建Zookeeper集群的方法步骤

    docker搭建Zookeeper集群的方法步骤

    本文主要介绍了docker搭建Zookeeper集群的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Docker安装MySQL并使用Navicat连接的操作方法

    Docker安装MySQL并使用Navicat连接的操作方法

    这篇文章主要介绍了Docker安装MySQL并使用Navicat连接,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Docker数据目录迁移方法详解

    Docker数据目录迁移方法详解

    这篇文章主要介绍了Docker数据目录迁移方法,Docker数据目录迁移成功后再也不用担心服务器系统盘目录被占满的情况的,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 解决docker加载新的镜像后repository和tag名称都为none的问题

    解决docker加载新的镜像后repository和tag名称都为none的问题

    这篇文章主要介绍了解决docker加载新的镜像后repository和tag名称都为none的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker镜像+nginx 部署 vue 项目的方法

    Docker镜像+nginx 部署 vue 项目的方法

    这篇文章主要介绍了Docker镜像+nginx 部署 vue 项目的方法,帮助大家更好的使用docke镜像,感兴趣的朋友可以了解下
    2020-10-10
  • Docker部署前后端分离项目的三种方式小结

    Docker部署前后端分离项目的三种方式小结

    本文主要介绍了Docker部署前后端分离项目的三种方式小结,包含通过两个容器部署,通过compose编排容器自动部署和将前后端项目打成一个镜像部署的三种方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 基于Harbor构建docker私有仓库的方法

    基于Harbor构建docker私有仓库的方法

    这篇文章主要介绍了Harbor构建docker私有仓库的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Docker容器日志占用空间过大的解决方式

    Docker容器日志占用空间过大的解决方式

    当我们尝试查看特定 Docker 容器的日志时,通常会使用 docker logs <容器名称> 命令,,然而,有时候会发现控制台持续输出日志信息,持续时间可能相当长,直到最终打印完成,导致日志积累过多,占用了系统磁盘空间,所以本文给大家介绍了解决方法,需要的朋友可以参考下
    2024-03-03
  • docker的pdflatex环境配置的方法步骤

    docker的pdflatex环境配置的方法步骤

    这篇文章主要介绍了docker的pdflatex环境配置的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 利用Docker-compose安装redis的简单步骤

    利用Docker-compose安装redis的简单步骤

    Docker-compose是Docker官方推出的一个工具软件,可以管理多个Docker容器组成的一个应用,下面这篇文章主要给大家介绍了关于利用Docker-compose安装redis的简单步骤,需要的朋友可以参考下
    2024-03-03

最新评论