【Linux运维高手私藏技巧】:Docker容器中完美配置CST时区的3种方案

Linux时间体系详解:硬件时钟、系统时钟与NTP同步实战 在服务器运维中,时间同步是基础却常被忽视的一环。Linux系统的时钟体系包含硬件时钟、系统时钟与网络时钟三个层次,它们各自独立又相互关联。硬件时钟(RTC)在断电后依然走时,系统时钟由内核维护,而NTP协议则负责持续校准因晶振漂移产生的偏差。理解这三者之间的关系,是排查时间跳变、时区错乱等问题的前提。在生产环境中,错误的时区配置或NTP同步失败会导致日志时间对不上、证书校验失败、数据库复制错乱等连锁故障。通过timedatectl、hwclock、chronyc等工具,可以系统化地管理时钟层次、配置chro 阅读详情

第一章:Docker容器的时区与本地化配置

在部署 Docker 容器应用时,时区和本地化设置常被忽视,但它们对日志记录、时间计算和用户界面显示具有直接影响。若容器内时区与宿主机不一致,可能导致时间戳错乱,影响业务逻辑判断。

设置容器时区

可通过挂载宿主机的时区文件或设置环境变量来统一时区。推荐使用环境变量方式,简洁且可移植:
# 启动容器时指定时区环境变量
docker run -e TZ=Asia/Shanghai your-application
该指令将容器内的时区设置为上海时间,适用于大多数基于 Debian 或 Alpine 的镜像。部分镜像需额外安装 tzdata 包以支持时区配置。

挂载本地时区文件

另一种方法是直接挂载宿主机的 /etc/localtime 和 /etc/timezone 文件:
docker run \
  -v /etc/localtime:/etc/localtime:ro \
  -v /etc/timezone:/etc/timezone:ro \
  your-application
此方式确保容器始终与宿主机保持完全一致的时间设置,适合生产环境。

配置语言与字符集(Locale)

若应用涉及多语言支持,需正确生成并启用对应的 locale。以 Alpine 镜像为例,需在 Dockerfile 中添加:
# 安装语言包并生成 locale
RUN apk add --no-cache tzdata locales \
  && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
  && locale-gen
ENV LANG=en_US.UTF-8
以下为常见时区环境变量对照表:
地区TZ 环境变量值
中国Asia/Shanghai
美国东部America/New_York
欧洲西部Europe/London
  • 优先使用环境变量 TZ 设置时区
  • 生产环境中建议挂载宿主机时区文件以保证一致性
  • 多语言应用需在镜像构建阶段启用对应 locale 支持

第二章:CST时区配置的核心原理与常见误区

2.1 理解UTC、CST及时区同步机制

在分布式系统中,时间一致性是保障数据正确性的关键。协调世界时(UTC)作为全球标准时间基准,被广泛用于日志记录、事件排序和跨区域调度。而CST(China Standard Time)为UTC+8时区,常用于本地化显示。
常见时区对照表
时区缩写与UTC偏移代表地区
UTC+00:00格林威治标准时间
CST+08:00中国标准时间
EST-05:00美国东部时间
Go语言中时区处理示例

// 将UTC时间转换为CST
loc, _ := time.LoadLocation("Asia/Shanghai")
utcTime := time.Now().UTC()
cstTime := utcTime.In(loc)
fmt.Println("UTC:", utcTime.Format(time.RFC3339))
fmt.Println("CST:", cstTime.Format(time.RFC3339))
上述代码通过LoadLocation加载上海时区,利用In()方法将UTC时间转换为CST。RFC3339格式确保输出统一,避免解析歧义。
时间同步机制
系统间通常依赖NTP(Network Time Protocol)同步时钟,确保各节点时间偏差控制在毫秒级,为分布式追踪和审计提供可靠时间依据。

2.2 Docker容器默认时区来源分析

Docker容器的默认时区并非由镜像随机决定,而是继承自宿主机的操作系统环境。当容器启动时,若未显式配置时区,会通过读取宿主机的 `/etc/localtime` 文件来同步时间设置。
时区继承机制
容器在运行时默认使用 UTC 时区,除非基础镜像中已预置了特定时区配置。例如,许多Linux发行版镜像会在构建阶段复制宿主机的时区信息。
# 查看容器当前时区
docker run --rm alpine date

# 挂载宿主机时区文件进入容器
docker run -v /etc/localtime:/etc/localtime:ro alpine date
上述命令中,通过 `-v` 参数将宿主机的本地时间文件挂载到容器内,使两者时区保持一致。该方式适用于大多数基于Linux的容器环境。
  • 容器默认时区为UTC
  • 可通过挂载 /etc/localtime 实现时区同步
  • 也可通过设置环境变量 TZ 显式指定时区

2.3 容器与宿主机时间不同步的根因排查

时间同步机制差异
容器默认共享宿主机的时钟,但未自动同步时区与NTP配置。当宿主机启用NTP服务而容器未安装对应客户端时,可能导致时间漂移。
常见排查步骤
  • 检查宿主机时间同步状态:timedatectl status
  • 进入容器验证时间偏差:docker exec -it <container> date
  • 确认是否挂载了正确的时区文件
解决方案示例
# 启动容器时挂载宿主机时区和时间文件
docker run -v /etc/localtime:/etc/localtime:ro \
           -v /etc/timezone:/etc/timezone:ro alpine date
该命令通过挂载宿主机的 /etc/localtime 和 /etc/timezone 文件,确保容器内时间与宿主机保持一致,适用于无systemd环境的轻量镜像。

2.4 TZ环境变量的作用域与优先级解析

在Unix-like系统中,TZ环境变量用于指定程序运行时的时区。其作用域覆盖当前进程及其子进程,但不影响父进程或其他会话。
优先级规则
当多个时区设置共存时,系统遵循以下优先级(从高到低):
  • 程序内显式调用tzset()并设置TZ
  • 进程启动时继承的环境变量TZ
  • 系统默认时区(如/etc/localtime)
示例:设置东八区时区
export TZ='Asia/Shanghai'
date
该命令将当前shell会话的时区设为上海时间,后续调用localtime()等函数将基于此值调整输出。变量仅在当前shell及派生子进程中生效。
作用域验证
启动新shell:未继承TZ → 使用系统默认时区
子进程执行:继承TZ → 应用自定义时区

2.5 本地化语言环境(Locale)对时区的影响

系统本地化语言环境(Locale)不仅影响日期、时间的显示格式,还可能间接影响时区解析行为。不同Locale设置下,时区名称的输出形式可能存在差异。
常见Locale与时区显示对照
Locale时区缩写示例全称示例
en_USESTEastern Standard Time
zh_CN中国标准时间中国标准时间
代码示例:Locale影响时区名称输出
TimeZone tz = TimeZone.getTimeZone("America/New_York");
Locale.setDefault(Locale.CHINA);
System.out.println(DateFormat.getDateTimeInstance().getTimeZone()); 
// 输出可能包含中文时区描述
上述代码中,Locale设为中文环境后,尽管时区仍为纽约时间,但相关API返回的时区描述可能转为中文语境下的表达方式,影响日志可读性与系统兼容性。

第三章:基于Dockerfile的时区配置实践

3.1 使用apt/yum安装时区数据并设置CST

在Linux系统中,正确配置时区是保障日志记录、调度任务时间一致性的基础。CST(China Standard Time)通常指UTC+8时区,需确保系统时区数据包已安装并正确配置。
安装时区数据包
对于基于Debian的系统,使用apt安装tzdata:
sudo apt update
sudo apt install -y tzdata
该命令更新软件源并安装时区数据包,交互式配置可通过后续命令设定区域。 对于RHEL/CentOS系统,使用yum:
sudo yum install -y tzdata
安装后无需重启服务,系统自动生效。
设置CST时区
通过timedatectl命令设置时区为Asia/Shanghai(对应CST):
sudo timedatectl set-timezone Asia/Shanghai
执行后,系统时间将基于UTC+8显示,适用于中国本地时间需求。

3.2 通过ENV指令持久化TZ环境变量

在Docker镜像构建过程中,时区配置的持久化对日志记录、任务调度等场景至关重要。通过ENV指令可将TZ(Timezone)环境变量写入镜像层,确保容器运行时始终使用指定时区。
ENV指令语法与作用
ENV指令用于设置环境变量,其值在构建过程及运行期间均有效。例如:
ENV TZ=Asia/Shanghai
该指令将时区设置为上海,影响所有后续指令及容器启动后的系统行为。
时区变量的实际影响
设置TZ后,glibc等库会自动调整时间函数返回值。常见依赖包括:
  • 日志时间戳输出
  • cron定时任务触发时机
  • 应用程序本地时间解析
完整配置示例
结合APT安装时区数据并更新:
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
    echo $TZ > /etc/timezone
此代码块通过符号链接切换系统时区,并写入配置文件,实现全系统级生效。

3.3 构建轻量镜像的同时支持中文时间显示

在容器化应用中,精简镜像是提升启动速度和降低资源消耗的关键。然而,轻量基础镜像(如 Alpine)默认不包含完整的语言包,导致中文时间显示异常。
安装必要语言环境
通过添加 minimal 语言包支持中文时区与时间格式:
FROM alpine:latest
RUN apk add --no-cache tzdata \
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone
上述命令复制上海时区文件并设置系统时区,确保 time.Now() 输出带中文信息的时间。
优化镜像体积
  • 使用 --no-cache 避免生成临时索引
  • 仅复制所需时区数据,不安装完整 locales 包
最终镜像保持在 10MB 以内,同时正确输出“星期一”等中文时间描述。

第四章:运行时动态配置与自动化方案

4.1 利用docker run参数挂载时区文件

在容器化应用中,确保容器内时区与宿主机一致是避免时间相关问题的关键。通过 docker run 命令的 -v 参数,可直接将宿主机的时区文件挂载至容器内部。
挂载方式详解
最常见做法是将宿主机的 /etc/localtime 文件挂载到目标容器的相同路径,使容器共享宿主机的本地时间设置。
docker run -d \
  -v /etc/localtime:/etc/localtime:ro \
  --name myapp \
  myimage:latest
上述命令中:
  • -v /etc/localtime:/etc/localtime:ro:将宿主机时区文件以只读模式挂载至容器;
  • :ro 确保容器无法修改宿主机文件,提升安全性;
  • 容器启动后,其系统时间将自动与宿主机保持同步。
适用场景对比
场景是否推荐挂载时区文件
日志记录需本地时间✅ 推荐
跨时区部署服务⚠️ 需结合环境变量调整

4.2 Volume绑定宿主机localtime实现时区同步

在容器化环境中,时区不一致可能导致日志时间错乱、调度任务异常等问题。通过Volume挂载宿主机的 `/etc/localtime` 文件,可实现容器与宿主机的时区同步。
挂载配置示例
version: '3'
services:
  app:
    image: ubuntu:20.04
    volumes:
      - /etc/localtime:/etc/localtime:ro
上述配置将宿主机的本地时间文件以只读方式挂载到容器中,确保容器内系统时区与宿主机保持一致。`:ro` 表示只读,防止容器内进程误修改宿主机时间配置。
适用场景与优势
  • 适用于日志记录、定时任务等对时间敏感的服务
  • 无需重新构建镜像,灵活适配不同部署环境
  • 相比设置环境变量 TZ,更底层且兼容性更强

4.3 在Kubernetes中通过环境变量统一管理时区

在Kubernetes集群中,确保所有Pod运行在一致的时区环境下对日志追踪、定时任务执行至关重要。通过环境变量方式注入时区配置,是一种轻量且可复用的实践方案。
设置TZ环境变量
可在Pod模板中通过env字段指定时区:
apiVersion: v1
kind: Pod
metadata:
  name: example-pod
spec:
  containers:
    - name: app-container
      image: nginx
      env:
        - name: TZ
          value: "Asia/Shanghai"
该配置将容器内系统时区设置为东八区,依赖基础镜像对TZ环境变量的支持(如Debian/Alpine系镜像)。应用重启后即时生效,无需挂载卷或特权模式。
批量统一配置策略
  • 在Deployment、DaemonSet等控制器中声明TZ环境变量,实现工作负载级统一;
  • 结合ConfigMap预定义时区变量,提升配置可维护性;
  • 避免使用hostPath挂载宿主机/etc/localtime,降低节点耦合风险。

4.4 使用ConfigMap集中配置多容器时区策略

在Kubernetes集群中,统一管理多个容器的时区设置是保障日志一致性与调度准确性的关键。通过ConfigMap可实现环境无关的配置注入,避免因宿主机时区差异导致的应用行为不一致。
创建时区配置的ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
  name: timezone-config
data:
  TZ: "Asia/Shanghai"
该ConfigMap定义了名为TZ的键值对,用于指定容器运行时的时区环境变量。
在Pod中挂载并应用配置
将ConfigMap作为环境变量注入容器:
  • 通过env.valueFrom.configMapKeyRef引用配置项
  • 确保所有业务容器共享同一时区上下文
此方式提升了配置复用性,支持跨命名空间部署的一致性管理。

第五章:最佳实践总结与生产环境建议

配置管理与环境隔离
在生产环境中,确保开发、测试和生产配置完全隔离至关重要。使用环境变量加载配置,避免硬编码敏感信息。
// config.go
package main

import "os"

type Config struct {
    DBHost string
    DBPort int
}

func LoadConfig() *Config {
    return &Config{
        DBHost: os.Getenv("DB_HOST"),
        DBPort: 5432, // 默认值
    }
}
日志记录与监控集成
统一日志格式便于集中分析。推荐使用结构化日志,并接入 ELK 或 Loki 栈。关键操作需添加 trace ID 以支持链路追踪。
  • 使用 zap 或 logrus 等高性能日志库
  • 设置合理的日志级别(生产环境默认为 info)
  • 定期轮转日志文件,防止磁盘溢出
高可用部署策略
采用多副本 + 负载均衡模式提升服务可用性。Kubernetes 中建议配置 readiness 和 liveness 探针。
探针类型路径初始延迟(秒)间隔(秒)
liveness/healthz3010
readiness/ready105
安全加固措施
最小权限原则适用于所有服务账户。API 网关应启用速率限制和 JWT 验证,防止恶意调用。
流程图:用户请求 → API Gateway → 认证中间件 → 限流检查 → 路由至后端服务
Docker容器时间与宿主机不一致/宿主机时间不同步校验 如果在启动Docker容器的过程中没有单独配置localtime,很可能造成Docker容器时间与主机时间不一致的情况,比如UTC和CST相差8小时,换句话来说就是容器时间与北京时间相差8个小时。 阅读详情

相关推荐

DOCKER UBUNTU 配置

1:DOCKER 深度学习环境基本要素 Docker部署深度学习服务器,CUDA+cudnn+ssh_铜锣烧阿南Anan的博客-优快云博客 2:安装python Docker下的ubuntu 安装python3.6 及pip3 - 简书 apt-get install python3.6 安装:apt-get install python3.6 查看所有连接: ls -l /usr/bin | grep python 删除现有连接:rm /usr/bin/python 建立新的连接:ln..

如果没有最优解,那就找到可行解 2625

docker 修改时区utc为cst

cst可以理解为北京时间,utc是0时区的时间,两者相差8小时; 在容器内部直接执行如下指令即可: cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ...

u010483897的博客 5346

Docker容器时间与宿主机不一致问题解决方案

如果在启动Docker容器的过程中没有单独配置localtime,很可能造成Docker容器时间与主机时间不一致的情况,比如UTC和CST相差8小时,换句话来说就是容器时间与北京时间相差8个小时。

DN金猿的博客 1673

Docker时区问题,看这一篇就够了

Docker时区问题通常是由于时区设置不正确导致的。当Docker容器启动时,它会继承宿主机的时区设置。如果宿主机的时区设置不正确,那么容器内的时间也会不正确。解决这个问题的方法通常如下面几种:在Dockerfile中设置时区环境变量。可以在Dockerfile中添加以下代码:ENV TZ=Asia/Shanghai。这样,在构建Docker镜像的时候,容器的时区就会被设置为上海时区。通过dock...

fastboot 4588

MT6768平台Sensor Bring Up全流程实战:从驱动添加到问题排查(附避坑指南)

本文详细介绍了联发科MT6768平台Sensor Bring Up的全流程实战指南,从驱动添加、硬件配置到问题排查,提供了全面的避坑建议。内容涵盖环境准备、驱动文件集成、硬件接口配置、编译系统适配以及常见问题解决方案,帮助开发者高效完成传感器集成与调试工作。

weixin_30374009的博客 416

rockchip rk3566 android11 网口log报错: DMA engine initialization failed

问题描述:上电初始化前将网口插入,然后上电初始化网口能够正常使用,且能够找到PHY,ifconfig 查看能够有eth0 产生,网口正常使用且能够热插拔,但上电初始化时,不插入网口,就会报DMA engine initialization failed 错误,DMA 初始化的时候出错了。 分析:一般产生这个问题可以认为是GMAC 的工作时钟出问题了。先测量时钟引脚是否有时钟,时钟频率以及幅度等指标是否正常,主要确认以下几个方面: 1.IOMUX 出错,检查时钟脚寄存器值是否正确。 2.时钟方向以及配置

qq_48709036的博客 2万+

关于docker的时区问题,四种方式解决,有一种可以无任何bug解决

关于docker容器修改时区前言:解决思路总结无视版本问题的解决过程 前言: docker是一种非常方便的东西,特别好用在解决问题之前,先来看看他的官方介绍(本人喜欢在解决问题之前先弄清 楚问题是什么,以及问题中涉及到的一些其他东西的相关概念): Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and port

weixin_43441262的博客 3279

SIGIR 2026:信息检索前沿技术与投稿指南

信息检索(Information Retrieval, IR)是计算机科学中处理大规模数据检索的核心技术,其基本原理是通过算法模型从海量数据中高效提取相关信息。随着深度学习的发展,神经信息检索(Neural IR)和多模态检索成为研究热点,如稠密检索模型(DPR)和跨模态预训练(CLIP)等技术的应用显著提升了检索精度。这些技术不仅在学术领域具有重要价值,还在电商搜索、医疗检索等实际场景中展现出巨大潜力。SIGIR作为信息检索领域的顶级会议,汇聚了全球顶尖学者和工业界专家,是展示最新研究成果的重要平台。本文

weixin_29189363的博客 287

k8s docker 时区同步

k8s docker 时区同步无效问题

Dream - to be coder 888

从零到一:STM32CubeMX虚拟串口开发中的常见陷阱与优化策略

本文深入探讨了STM32CubeMX在USB虚拟串口开发中的常见问题与优化策略,涵盖数据流吞吐量瓶颈、实时性约束等核心挑战。通过实战案例和代码示例,详细解析了波特率同步异常、数据丢失等问题的解决方案,并提供了DMA配置和中断优先级调优的高级技巧,帮助开发者提升STM32虚拟串口的性能和可靠性。

weixin_29164185的博客 370

C语言由scanf(“%d“,)非法输入字符造成的死循环及其解决方案

声明:此文章仅作为C语言学习历程中的思路整理,用于解决入门阶段较为浅显的问题,如有错误还请指正。 现象描述: 代码要求实现用户输入1或2,通过scanf("%d",&a)读取这个值,从而判断分属于1或2的两种情况。输入非1,2的数字都应该返回"Invalid Number!",并且要求重新输入数字。 while(a!=1&&a!=2) { printf("Invalid Number!\n"); printf("Enter the number:"); scan

weixin_49764077的博客 8719

docker学习16-Docker 容器设置时区

最近遇到一个问题,在本机部署操作时,获取本机当前时间存到mysql数据库,时间是当前北京时间没问题。 但是用Docker 容器部署项目,发现时间少了8个小时,于是想到是docker容器的内部时区问题。

qq_27371025的博客 9485

显示模组Bonding IC气泡问题的诊断与优化策略

本文深入分析了显示模组Bonding IC气泡问题的成因与优化策略,涵盖IC两端剥离气泡、彩虹状水汽气泡、电极下方无规律气泡及IC输入端气泡等类型。通过工艺参数优化、材料存储处理、清洁环境控制及维修品特殊处理等多维度解决方案,有效降低气泡不良率。同时介绍了纳米改性ACF材料、激光辅助排泡技术等前沿解决方案,为触控显示行业提供实用参考。

weixin_26805597的博客 420

Docker容器内时区问题 Dockerfile配置的时区未生效

Docker容器内时区问题 Dockerfile配置的时区未生效

Blog 3135

小白也能轻松部署 OpenClaw:OpenClaw可视化部署工具+OpenClaw可视化管理工具分享

分享一个OpenClaw可视化一键部署工具,帮你快速打造属于自己的AI助手 🚀

XiaoqiangClub的博客 6711

Arcgis加载在线地图(内涵各种在线地图)

这三个在线地图是最常用的在线地图,其他几个类型的在线地图请自行查看。,加载出在线图层说明连接成功,点击。1、首先打开Arcgis,找到。

爱吃雪糕的小布丁的博客 1万+

docker容器时间和主机时间不一致(时区问题)

Docker容器内默认使用UTC时间(标准时间),我们一般使用CST时间(东八区时间)。首先先查看容器内时间。

被拯救的威尼斯的博客 1993

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

TZ环境变量的秘密:让Docker容器时间精准如主机的终极方法

精准同步Docker容器时间,只需正确设置时区环境变量。通过TZ环境变量配置,轻松实现容器与主机时区一致,适用于日志记录、定时任务等场景。方法简单可靠,支持所有Linux基础镜像,避免时间错乱问题,值得收藏。

VarIsle的博客 1078

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

docker修改时区

1、date查看当前时间 2、复制 /usr/share/zoneinfo/Asia/Shanghai 到 /etc/localtime docker cp /usr/share/zoneinfo/Asia/Shanghai 8b3de3fc57b0:/etc/localtime 3、再次date查看时间是否已经改为cts时区 4、重新提交镜像 docker commit -m "修改时区为中国上海" 8b3de3fc57b0 abc/def:v1.0 -m:来指定提交的说明信息 ...

qq_33372924的博客 1193

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

docker容器的时区更改

这可以确保所有使用这个Dockerfile构建的容器都使用同一个时区。:如果你的容器运行的是基于Debian或Ubuntu的操作系统,你也可以在Dockerfile中安装。包,然后设置你希望的时区。命令构建一个新的镜像,这个新的镜像将会使用你指定的时区。:你也可以在Dockerfile中设置。是你的Docker镜像的名称。会更新软件包列表并安装。命令将容器的时区设置为。命令启动容器时,通过。参数设置一个环境变量。环境变量所指定的时区。希望这些信息能帮到你!

m0_57236802的博客 3679

【Docker容器时区配置终极指南】:掌握TZ环境变量的5种高阶用法

轻松解决Docker容器时区错乱问题,掌握TZ环境变量的5种高阶用法。涵盖微服务、日志同步等场景,通过设置Docker容器时区的环境变量实现精准时间管理,配置简单且兼容性强,值得收藏。

CodeNexus的博客 865

修改docker容器中的时区

解决docker容器中的时间和宿主机中的时间(时区)不一致的问题。

点滴记录IT技术进程 1267

docker容器设置时区的几种方式

在本地运行项目时,使用的是mac本地时区一切正常,但部署到服务器容器中,用的是世界时区差8个小时。解决办法:1、在Dockerfile中设置镜像时区 2、创建容器时设置时区 将宿主机与容器的时间进行挂载 3、进入容器进行设置 1)进入容器内: 2)设定时区...

u013302168的博客 1万+

Docker容器及其内应用自启动解决方案

起因 系统每次打漏洞补丁都会进行服务器重启,系统重要性比较低,没有自动化自愈工具,只有纯docker的工具,因此只能通过编写脚本进行自启动docker以及docker内的应用 解决方法 通过shell脚本的方式,可以把脚本加到rc.local或crontab中 #启动容器 docker run -itd --env TZ="Asia/Shanghai" --env LC_ALL=en_GB.utf8 --net=host -v /var/www/web:/home test:v1.0 /bin/s.

am540的博客 2538

docker容器时间与宿主机不同的解决方法

近日发现,阿里云docker容器内的时区和宿主机的时区不同,就导致了在mongodb插入数据的时候,少了八个小时 宿主机是这样的 1、缘起 容器内是这样的 可以看见容器内是采用的UTC而宿主机采用的是CST,UTC是世界协调时间主要是用来让各个国家协调时间的,也就是0时区,CST是中央标准时间,如果还不懂的话,举个例子就懂了。 CST时间:中央标准时间 Central Standard Time (USA) UT-6:00(美国cst时间:零区时减6个小时) Centra.

HeartCoreT的博客 886
上一篇: Docker到Podman迁移实战(20年专家亲授避坑方案)
下一篇: VSCode高手都在用的Git插件技巧(GitLens深度配置手册)
SimCompile
博客等级 码龄1年 140粉丝 2012原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值