【docker,typeorm】docker时区与本地时区的不同步【已解决】

news2024/10/7 12:28:14

前言

我使用账号登陆vuecms.cn网站,查看登陆日志,发现所有时间全部少8个小时。懵逼树上懵逼果,懵逼树下你和我…
我的开源网站后端是基于nestjs,数据库使用typeorm进行连接操作


原因分析:

原因一:
docker环境与本地环境时区不一样
在这里插入图片描述
原因二:
使用typeorm操作mysql时插入和修改时间与本地时间不一样


解决方案:

1.修改dockerfile文件,设置中国时区

...
# 添加时区环境变量,亚洲,上海
ENV TIME_ZONE Asia/Shanghai

RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
...

其他详细配置查看我的开源项目源码:https://gitee.com/derekgo/vue-cms_xg/blob/master/node_nest/Dockerfile

2.运行docker镜像时,设置中国时区
修改时区

timedatectl set-timezone Asia/Shanghai

通过timedatectl查看时区
在这里插入图片描述

运行时配置时区

docker run -v /etc/localtime:/etc/localtime:ro --restart=always --name vue-cms-nestjs(docker镜像名称) -d -p 访问端口ip:项目中设置的端口ip vue-cms-nestjs(docker镜像名称)

3.如果修改以上两种方法都不行,试试修改typeorm配置文件

//mysql配置
export const handleMyConfig = ()=>{
  let mysqlConfig:any = {
    type: 'mysql',//数据库类型
    host: '连接数据库得ip',//ip
    port: 3306,//端口号
    username: 'root',//账号
    password: '你的mysql密码',//密码
    database: '你的数据库名',//数据库名
    synchronize: true,//是否自动将实体类同步到数据库
    retryDelay:500,//重试连接数据库间隙
    retryAttempts:10,//重试连接数据库的次数
    // entities: [__dirname+"/**/*.entity{.ts,.js}"],//实体文件
    autoLoadEntities:true,//如果为true,将自动加载实体 forFeature()方法注册的每个实体都将自动添加到配置对象的实体
    cache:false,//要启用缓存
    logging:true,//开启日志
    extra: {timezone: 'Asia/Shanghai'} // 设置时区为中国
  }
  return mysqlConfig;
}
import { TypeOrmModule } from '@nestjs/typeorm';
...
let mysql =  TypeOrmModule.forRoot(handleMyConfig());
...

踩坑不易,还希望各位大佬支持一下 \textcolor{gray}{踩坑不易,还希望各位大佬支持一下} 踩坑不易,还希望各位大佬支持一下

📃 个人主页: \textcolor{green}{个人主页:} 个人主页: 沉默小管

📃 个人网站: \textcolor{green}{个人网站:} 个人网站: 沉默小管

📃 个人导航网站: \textcolor{green}{个人导航网站:} 个人导航网站: 沉默小管导航网

📃 我的开源项目: \textcolor{green}{我的开源项目:} 我的开源项目: vueCms.cn

🔥 技术交流 Q Q 群: 837051545 \textcolor{green}{技术交流QQ群:837051545} 技术交流QQ群:837051545

👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

如果有不懂可以留言,我看到了应该会回复
如有错误,请多多指教

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/782668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

结构型设计模式之适配器模式【设计模式系列】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythi…

Type [unknown] not present(主要问题是jar冲突)

解决方案:1选择pom.xml 2鼠标移动到打开的pom.xml点击右键选择maven 显示图 3ctrl鼠标左键移动找到红线 可以看到引入冲突 4按照实际需求对pom.xml的引入进行增删或者版本升级降级,直到以下图标中没有红线冲突即可

SQL注入 三范式

学习目标 了解三范式的要求 1. 什么是范式 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 实际上家用电器都有…

香农极限是如何影响光纤容量的

1 引言 上世纪末,DWDM技术开始在干线通信中使用并迅速普及。虽然当时DWDM系统的容量只有402.5G,但实验室中DWDM支持的波道数甚至超过了1000波,单波道速率也飙到了惊人的160G(超1000波和单波160G是两个独立事件)。人们普…

docker快速搭建并使用Zabbix

docker搭建并使用Zabbix 0 zabbix基础知识 zabbix-server zabbix 的server 端,负责接收agent发送过来的监控数据,并且提供zabbix的所有核心功能。database 用于存储监控数据和配置信息的数据库,目前常用的有mysql和postgresql两种数据库。za…

【AutoSAR应用软件设计】

AutoSAR总体架构 是本文讲解内容。 接口类型 AUTOSAR接口 –SWCs和/或BSW模块交换的信息–独立于实施/网络/硬件–端口接口 标准化AUTOSAR接口 –AUTOSAR接口–标准化的语法和语义–标准化端口接口 标准化接口 –标准化API–通常为特定编程语言(“C”&#x…

火狐浏览器鼠标点击页面区域文字时,出现光标的问题

点击一些资源卡片和查看别的页面时,发现点击非输入框的地方,出现了光标,误以为光标处可以填写东西,就试着敲了几次键盘,发现没有任何反应;然后就叫开发那个页面的同事过去看看;那个同事按F12各种…

如何监控Linux和Oracle数据库运行状态

背景: 在生产环境中,一般可能会发生服务器宕机或者数据库宕机的情况,如何准确的把握找准”生产事故“的具体发生时间,其实有很多方法,可以借助第三方的监控软件或者其他收费软件。 但是本人就是穷逼一个,不可能买或者使用盗版的三方软件。所有设计了以下流程检测Linux和…

16_LinuxINPUT子系统

目录 input子系统简 input驱动编写流程 注册input_dev 上报输入事件 input_event结构体 按键input驱动程序编写 编写测试APP 运行测试 input子系统简 按键、鼠标、键盘、触摸屏等都属于输入(input)设备,Linux内核为此专门做了一个叫做input子系统的框架来处理输入事件。…

node中间件-express框架

文章目录 前置 Express安装1. 基本使用2. 中间件2.1 中间件应用 3. 中间件的注册方式3.1 普通中间件的注册3.2 path匹配中间件3.3 method与路径匹配3.4 案列中间件匹配与执行方法 4. 中间件request数据解析4.1 解析request body中间件4.2 urlencoded解析 5. 第三方中间件5.1 mo…

CHI协议保序之Comp保序

一致性系统中,需要 memroy model 使用 multi-copy atomicity; 一致性系统中,使用三种保序方式; Completion response □ Comp 响应 表示当前的请求,己经达到了 POC/POS, POC/POS 将保证其命令的执行顺序和接收的顺序是一致的&…

Python(三十三)分支结构——嵌套if的使用

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

Android Studio下载

目录 确定版本下载地址 确定版本 如果是入职工作,先和同事确定好版本。因为每个项目使用的gradle插件版本,是在根目录的build.gralde文件中统一定义的,这个文件在添加第三方库(例如GreenDao,Arouter等)或者…

SpringBoot项目的创建

等待maven下载完成 删除无用文件 此时我们就创建成功了

Shiro权限绕过漏洞(CVE-2020-1957,CVE-2020-11989、CVE-2020-13933)

一、Apache Shiro Apache Shiro 是一个强大且易用的Java安全框架,能够用于身份验证、授权、加密和会话管理。 二、Shiro漏洞指纹(部分) 1、在请求包的cookie中有remember字段赋任意值 2、返回包中存在set-Cookie:remeberMedeleteMe 三、受…

通过宝塔面板将vue项目放到阿里云服务器(两个vue项目)

前提条件: 端口提前开放所需环境安装好(Nginx node…)以及打包好的vue文件(dist) 第一步:上传文件到自定义目录 第二步:在首页找到Nginx软件并配置 第三步:配置具体的配置 这里说…

「雕爷学编程」Arduino动手做(39)——DS18B20温度传感器3

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

厦门枫叶时代看电视的新趋势

随着“5G电视”技术的不断普及和城市数字化转型的加速,电视行业也在发生着翻天覆地的变化。在这个背景下,第28届上海电视节推出了高端论坛板块——“白玉兰对话”,共同探讨电视行业的未来发展。其中备受瞩目的中国电视剧发展论坛,…

荔枝派Zero(全志V3S)驱动开发之USB摄像头

文章目录 前言一、内核配置 UVC二、编译内核并烧录到 SD 卡三、上电测试四、mjpeg-streamer 视频流服务器测试1、jpeg 库的移植2、移植 mjpeg-streamer①、前置软件②、下载 mjpg-streamer 源码③、修改 mjpg-streamer 源码④、编译 mjpg-streamer 源码 3、搬移文件到 nfs 目录…

2023/07/23

1. 必须等待所有请求结束后才能执行后续操作的处理方式 方式一: async func () {const p1 await api1();const p2 await api2();const p3 await api3();Promise.all([p1, p2, p3]).then(res > {后续操作...}) }方式二:待补充 2. flex 弹性盒子布…