跳至正文
Home » 在 Docker 中使用 TZ 时区规范:说明和可用时区

在 Docker 中使用 TZ 时区规范:说明和可用时区

Advertisements

Some of the links shared in this post are affiliate links. If you click on the link and make a purchase, we will receive an affiliate commission at no additional cost to you.


Docker 是一种功能强大的工具,用于将应用程序隔离在容器中并独立于平台运行。使用 Docker 时,正确配置时区通常很重要,尤其是对于依赖时间的进程。在本文中,您将了解如何在 Docker 中使用 TZ 环境变量、它的作用以及哪些时区可用。

什么是 TC 环境变量?

TZ 环境变量允许你为 Docker 容器设置时区。默认情况下,Docker 容器采用主机系统的时区。不过,如果你想确保你的容器使用特定的时区,可以使用 TZ 变量来控制。

为什么时区配置很重要?

正确的时区对以下方面至关重要

  • 时间戳:生成时间戳(如在日志或数据库条目中)的应用程序必须在正确的时区生成时间戳。
  • 计划任务:Cron 作业或其他基于时间的任务必须在正确的本地时间执行。
  • 全球应用程序:如果不同时区的用户都在使用您的应用程序,那么正确本地化时间就非常重要。

如何在 Docker 中使用 TZ 环境变量

要指定 Docker 容器的时区,可在启动容器时设置 TZ 环境变量。具体方法是使用-e(或--env )开关,然后输入所需的时区说明。

示例:使用定义的时区启动容器

假设要启动一个容器并将时区设置为 “欧洲/柏林”,请使用以下命令:

docker run -e TZ=Europe/Berlin your-docker-image

无论主机系统使用哪个时区,该命令都会启动容器并确保将时区设置为柏林时区

TC 时区规范的影响

如果设置了 TZ 变量,就会产生影响:

  • 容器内的系统时间:容器内所有与时间相关的操作都基于定义的时区。
  • 日志和时间戳:每个生成的时间条目(如日志)都按指定时区输出。
  • 计划任务:Cron 作业和其他基于时间的任务在指定时区的正确时间运行。

可用时区列表

Docker 支持由 IANA(互联网号码分配机构)维护的所有时区。这些时区以 “地区/城市 “格式指定。下面是一些最常用的时区:

  • UTC(协调世界时)
  • 欧洲/柏林
  • 欧洲/伦敦
  • 美国/纽约
  • 美国/洛杉矶
  • 亚洲/东京
  • 亚洲/上海
  • 澳大利亚/悉尼
  • 非洲/约翰内斯堡
  • 太平洋/奥克兰

使用以下命令可以显示 Linux 系统上可用时区的完整列表:

timedatectl list-timezones

此外,您还可以在网上找到IANA 时区列表

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Mastodon