当前位置: 首页 > news >正文

node debian 镜像 new Date 获取时间少 8 小时问题

问题

在 node debian 镜像中,用 (new Date()).getHours() 与系统时间(东 8 区)少了 8 小时

系统时间

$ node
> (new Date()).getHours()
11

容器中的时间

$ node
> (new Date()).getHours()
3

原 Dockerfile

FROM node:20.5-bullseyeARG proxyRUN set -eux && \sed -i -e 's#http://deb.debian.org#http://mirrors.aliyun.com#g' \-e 's#http://security.debian.org#http://mirrors.aliyun.com#g' \/etc/apt/sources.list && \apt-get update && \rm -rf /var/lib/apt/lists/WORKDIR /app
COPY . .RUN env http_proxy=$proxy https_proxy=$proxy npm installENTRYPOINT [ "node", "index.js" ]

原因

镜像运行起来容器未设置指定时区

解决

Dockerfile 中添加 ENV TZ='Asia/Shanghai'apt-get install -yq tzdata

FROM node:20.5-bullseyeARG proxy# 设置时区
ENV TZ='Asia/Shanghai'RUN set -eux && \sed -i -e 's#http://deb.debian.org#http://mirrors.aliyun.com#g' \-e 's#http://security.debian.org#http://mirrors.aliyun.com#g' \/etc/apt/sources.list && \apt-get update && \# 安装 tzdataapt-get install -yq tzdata && \rm -rf /var/lib/apt/lists/WORKDIR /app
COPY . .RUN env http_proxy=$proxy https_proxy=$proxy npm installENTRYPOINT [ "node", "index.js" ]

验证

系统时间

$ node
> (new Date()).getHours()
11

容器中的时间

$ node
> (new Date()).getHours()
11

参考

  • https://dev.to/0xbf/set-timezone-in-your-docker-image-d22 Set timezone in your docker image
http://www.lryc.cn/news/111126.html

相关文章:

  • 【N32L40X】学习笔记13-软件IIC读写EEPROM AT24C02
  • JVM 调优
  • DP-GAN剩余代码
  • 在word的文本框内使用Endnote引用文献,如何保证引文编号按照上下文排序
  • SpringBoot项目上传至服务器
  • C++中实现多线程的三种方式
  • 程序员副业指南:怎样实现年入10w+的目标?
  • excel 计算 分位值
  • mongodb-windows-x86_64-4.4.23-signed.msi
  • 一个SpringBoot 项目能处理多少请求?
  • Shell编程基础(十)读取多行文本到数组 写入多行文本到文件
  • MyBatis学习笔记2
  • spring总结
  • 记录--说一说css的font-size: 0
  • Matlab实现支持向量机算法(附上多个完整仿真源码)
  • AIGC大模型ChatGLM2-6B:国产版chatgpt本地部署及体验
  • [国产MCU]-BL602开发实例-开发环境搭建
  • 春秋云镜 CVE-2020-26048
  • 使用Golang实现一套流程可配置,适用于广告、推荐系统的业务性框架——简单应用
  • 一个.NET开发的Web版Redis管理工具
  • javaAPI(四):jdk8中的日期时间API
  • 解决在mybatis中出现的org.apache.ibatis.exceptions.PersistenceException~
  • Vue + ElementUI 实现可编辑表格及校验
  • 中介者模式——协调多个对象之间的交互
  • 启动Flink显示初始化状态怎么解决?
  • VB+SQL采购管理系统设计与实现
  • TBB库中实现协程(coroutine)的源码说明
  • 【CSS弹性盒模型 display:flex;常用参数及常见的布局】
  • golang函数传参——值传递理解
  • Liunx环境下git的详细使用(gitee版)