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

2023-09-21 10:04:47

本地时区的修改

一般情况下,我们启动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
更多推荐

一线大厂Redis高并发缓存架构实战与性能优化

多级缓存架构缓存设计缓存穿透缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常出于容错的考虑,如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后端存储的意义。造成缓存穿透的基本原因有两个:第一,自身业务代码或者数据出现问题。第二,一些恶意攻击、

SpringMVC之JSON返回及异常处理机制

目录一、JSON处理1.1导入依赖1.2配置Spring-mvc.xml1.3@ResponseBody注解使用​编辑1.4Jackson1.4.1定义1.4.2用途1.4.3用法1.4.4常用注解1.5作用二、统一异常处理2.1为什么要全局异常处理?2.2异常处理思路2.3SpringMVC异常分类2.4综合案例2.

【双系统】忘记Ubuntu登录密码,应该重装系统还是换新电脑?

电脑装的双系统,但是好几个月都用的是服务器,并没有用本地电脑的另一个系统(Ubuntu20.04)。开机不小心选到了Ubuntu,结果却忘记了登录密码。文章目录一、修改登录密码二、删除/解锁秘钥环三、Linux系统的root用户密码问题一、修改登录密码通过以下步骤来重置密码:重启你的电脑。在GRUB加载页面时,按下Sh

.Net IDE智能提示汉化(.Net6、AspNetCore)

先上现成的.net6汉化文件,可以手动下载后参照如何为.NET安装本地化的IntelliSense文件进行安装。或者使用后文的工具进行自动安装。无对照英文在前中文在前汉化内容来自官方在线文档,某些内容可能存在明显的机翻痕迹。上一些效果图:.Net6之前的版本汉化.net6之前的版本,微软官方提供了本地化包,可以在Dow

MQTT Qt 客户端开发记录

1.MQTT介绍MQTT是一种常用的物联网协议。MQTT(MessageQueuingTelemetryTransport)是一种轻量级的发布/订阅通信协议,用于在物联网(IoT)和机器对机器(M2M)通信中传输消息。MQTT协议被设计用于在低带宽和不稳定网络环境下工作,以及在设备和服务器之间实现可靠的通信。MQTT协

什么是媒体邀约?邀请媒体的流程

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。媒体邀约,简单来说,是企业或组织为了某个特定的事件、活动或新闻,主动邀请媒体进行报道或参与。这个过程旨在确保媒体的出席并进一步传播相关信息,从而达到更广泛的受众。邀请媒体的流程大致可以分为以下几个步骤:媒体媒体宣传的目的:明确为何需要邀请媒体,是为了推广新产品、发布

1_图神经网络GNN基础知识学习

文章目录安装PyTorchGeometric安装工具包在KarateClub数据集上使用图卷积网络(GCN)进行节点分类两个画图函数GraphNeuralNetworks数据集:Zachary'skarateclubnetwork.PyTorchGeometric数据集介绍edge_index使用networkx可视化

Bash脚本学习 - 条件句、数组、for循环,函数

1.条件测试[和]是一个用于执行条件测试的命令。它们必须用空格分隔开,并且在[后面和]前面必须有空格。-eq是一个比较运算符,表示等于(equal)。它用于比较两个值是否相等。2.条件句在ifelseifelse.sh文件中,#!/bin/bashif[${1,,}=herbert];thenecho"Oh,you'r

利用gpt进行GMV变化数据分析

prompt:现在已知男性GMV从800降至600,女性GMV从1200至1300,请计算男女GMV变动对整体GMV变动的贡献度output:在这个问题中,我们要计算男性和女性的GMV(总销售额)变动对整体GMV变动的贡献度。首先,计算男性和女性的GMV变动量:男性GMV变动量:600-800=-200600−800=

排序算法-----快速排序(递归)

目录前言快速排序步骤原理大致思路流程动态图代码实现算法分析空间复杂度时间复杂度稳定性前言今天我们开始学习排序算法中的快速排序算法,既然叫快速排序,那肯定是体现在快这方面,相较于前面所学习过的排序算法,快速排序是比这些算法的速度要快的,将来很多时候我们都会用到快速排序来去做排序的,下面就一起来学习吧!快速排序快速排序(Q

第 363 场 LeetCode 周赛题解

A计算K置位下标对应元素的和模拟classSolution{public:intpop_cnt(intx){//求x的二进制表示中的1的位数intres=0;for(;x;x>>=1)if(x&1)res++;returnres;}intsumIndicesWithKSetBits(vector<int>&nums,i

热文推荐