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

docker容器的设置本地时间(/etc/localtime)和本地时区(/etc/timezone)

本地时区的修改

一般情况下,我们启动docker容器时指定了环境变量:

-e TZ:=Asia/Ho_Chi_Minh

,容器内的时区就会变成东八区,某些软件则会读取该环境变量作为其使用的时区,该环境变量相当于"残缺版"的命令:

echo 'Asia/Ho_Chi_Minh' >/etc/timezone

为什么说残缺版,继续往下看。

上述环境变量生效后,随之而变的还有本地时间(/etc/localtime),本地时间会根据时区自动调整,使用命令:date查看:

root@75e7c81b599d:/# date
Tue Aug  8 10:12:05 CST 2023

本地时间的修改(一般不用设置,设置默认时区即可)
通过ll /etc/localtime查看本地时间的指向,发现本地时间还是指向的默认的UTC:

root@75e7c81b599d:/# ll /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 20  2021 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

但是为什么本地时间变成了对的时间呢?原因是上面已经正确设置了时区,date命令会自动根据设置的时区进行调节。

root@75e7c81b599d:/# date -R
Tue, 08 Aug 2023 10:37:35 +0800

那么如果我们不设置正确的时区,默认会使用UTC时区,那么如何在不设定时区的情况下让本地时间变的准确呢?使用软链重新指向即可

ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime

存在的问题

在linux中,有一些程序会自己计算时间(比如cron),这些程序直接获取本地时区,并不会读取你设置的环境变量,这时必须得修正本机的时区,所以执行下列设置,然后重启具体的服务。

echo 'Asia/Ho_Chi_Minh' >/etc/timezone

dockerfile永久改动

RUN ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime
RUN echo 'Asia/Ho_Chi_Minh' >/etc/timezone
http://www.lryc.cn/news/171702.html

相关文章:

  • 侯捷老师C++课程:内存管理
  • A股风格因子看板 (2023.09 第05期)
  • 修炼离线:(二)sqoop插入hbase 脚本(增量)
  • 跨平台编程开发工具Xojo 2023 Release mac中文版功能介绍
  • OpenCV Series : Target Box Outline Border
  • 【AD】【规则设置】设置四层板
  • Linux安装JDK1.8并配置环境变量
  • 面向面试知识--MySQL数据库与索引
  • portainer + portainer/agent
  • C# 截取字符串
  • FOXBORO FBM233 P0926GX控制脉冲模块
  • MySQL性能优化——MYSQL执行流程
  • Django:四、Djiango如何连接使用MySQL数据库
  • LeetCode 热题 100(八):贪心。121. 买卖股票的最佳时机、45. 跳跃游戏 II
  • 第N个数字
  • 【适用于电力系统和音频系统】计算信号的总谐波失真 (THD)(Matlab代码实现)
  • kubernetes(k8s)PVC
  • Android ANR问题触发机制
  • 解决jupyter找不到虚拟环境的问题
  • Unity丨移动相机朝向目标并确定目标在摄像机可视范围内丨摄像机注释模型丨摄像机移动丨不同尺寸模型优化丨
  • 排序算法:归并排序(递归和非递归)
  • 数据可视化
  • Go并发可视化解释 – select语句
  • http的网站进行访问时候自动跳转至https
  • realloc
  • Windows AD域使用Linux Samba
  • Scrapy+Selenium自动化获取个人CSDN文章质量分
  • 【Android Framework系列】第15章 Fragment+ViewPager与Viewpager2相关原理
  • typeof的作用
  • 性能测试 —— Tomcat监控与调优:status页监控