docker容器设置本地时间和本地时区的实现方法

 更新时间:2025年07月23日 10:54:31   作者:L-960  
Docker容器通过-eTZ设置时区,但部分程序如cron依赖本地时间文件,需手动修改/etc/localtime软链接指向正确时区,下面就来具体介绍一下,感兴趣的可以了解一下

本地时区的修改

一般情况下,我们启动docker容器时指定了环境变量:-e TZ:=Asia/Shanghai,容器内的时区就会变成东八区,某些软件则会读取该环境变量作为其使用的时区,该环境变量相当于"残缺版"的命令:

echo 'Asia/Shanghai' >/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/Shanghai /etc/localtime

存在的问题

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

echo 'Asia/Shanghai' >/etc/timezone

dockerfile永久改动

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

到此这篇关于docker容器设置本地时间和本地时区的实现方法的文章就介绍到这了,更多相关docker 设置本地时间和本地时区内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • 如何在docker中运行springboot项目过程图解

    如何在docker中运行springboot项目过程图解

    这篇文章主要介绍了如何在docker中运行springboot项目过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Docker中conda环境的导出和导入

    Docker中conda环境的导出和导入

    现在很多的应用程序系统都会选择使用docker容器进行部署,本文主要介绍了Docker中conda环境的导出和导入,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • docker下安装Elasticsearch设置账号密码的步骤记录

    docker下安装Elasticsearch设置账号密码的步骤记录

    这篇文章主要介绍了docker下安装Elasticsearch设置账号密码的步骤,包括拉取镜像、创建配置文件和用户密码文件、挂载文件到容器、使用Kibana或API创建用户、验证配置、以及持久化数据和日志,需要的朋友可以参考下
    2025-04-04
  • Docker 容器监控原理及 cAdvisor的安装与使用说明

    Docker 容器监控原理及 cAdvisor的安装与使用说明

    这篇文章主要介绍了Docker 容器监控原理及 cAdvisor的安装与使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker 限制容器对内存的使用详解

    Docker 限制容器对内存的使用详解

    这篇文章主要介绍了Docker 限制容器对内存的使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • docker安装,yum安装失败解决方案,阿里云镜像安装过程

    docker安装,yum安装失败解决方案,阿里云镜像安装过程

    在配置Yum源遇到问题时,尝试使用阿里云镜像可以有效解决,本文详细介绍了如何配置阿里云源及安装Docker的步骤,首先,若Yum源配置出错,建议更换为阿里云镜像;其次,详述了安装Docker的具体命令,包括启用阿里云源和安装过程中的选择提示
    2024-11-11
  • docker+gitlab+jenkins从零搭建自动化部署

    docker+gitlab+jenkins从零搭建自动化部署

    通过几天的学习和自己的理解,整理了下Docker+Jenkins的自动部署教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Ubuntu20.04上安装docker步骤及docker使用方法

    Ubuntu20.04上安装docker步骤及docker使用方法

    Docker是一个可以简化容器中应用程序进程管理过程的应用程序,容器允许你在资源隔离的进程中运行应用程序,这篇文章主要介绍了Ubuntu20.04上安装docker步骤及docker使用的相关资料,需要的朋友可以参考下
    2026-04-04
  • docker容器启用ipv6地址的方法流程

    docker容器启用ipv6地址的方法流程

    Docker默认不开启IPv6配置,某些场景我们又需要IPv6网络支持,随着IPv6的普及,以后的使用场景会越来越多,所以本文给大家介绍了docker容器启用ipv6地址方法,用ipv6地址访问容器方法流程、创建一个nginx容器用ipv6地址访问测试流程,需要的朋友可以参考下
    2024-08-08
  • 解决docker的tls(ssl)证书过期问题

    解决docker的tls(ssl)证书过期问题

    这篇文章主要介绍了解决docker的tls(ssl)证书过期问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论