标签: timezone

Docker 容器时间和时区(不会反映变化)

Docker 容器从哪里获取时间信息?我已经从基本的 ubuntu:trusty 映像创建了一些容器,当我运行它并请求“日期”时,我得到了 UTC 时间。

有一段时间我通过在我的 Dockerfile 中执行以下操作来解决这个问题:

RUN sudo echo "America/Los_Angeles" > /etc/timezone
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因停止工作。在网上搜索我看到以下建议:

docker run -v /etc/timezone:/etc/timezone [image-name]
Run Code Online (Sandbox Code Playgroud)

不过,这两种方法都正确设置了时区!

$ cat /etc/timezone
America/Los_Angeles
$ date
Tue Apr 14 23:46:51 UTC 2015
Run Code Online (Sandbox Code Playgroud)

有谁知道是什么给的?

timezone date docker

221
推荐指数
7
解决办法
42万
查看次数

如何在 ubuntu docker 镜像上安装 tzdata?

我在 Dockerfile 中有以下行。

RUN apt-get install -y tzdata
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它会询问我的输入。在我提供输入后,它挂在那里。有谁知道如何解决这个问题?

Step 25/25 : RUN apt-get install -y tzdata
 ---> Running in ee47a1beff84
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
  tzdata
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 189 kB of archives.
After this operation, 3104 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 tzdata all 2018i-0ubuntu0.18.04 [189 kB]
debconf: unable …
Run Code Online (Sandbox Code Playgroud)

timezone docker

107
推荐指数
5
解决办法
9万
查看次数

自动化 dpkg-reconfigure tzdata

我正在使用 puppet 来管理一组 debian 服务器。我需要更改集群上每台机器的时区。执行此操作的正确 debian 方法是使用dpkg-reconfigure tzdata. 但是如果我使用对话框,我似乎只能改变它。有什么方法可以从 shell 自动执行此操作,以便我可以编写一个 Exec 来简化此操作?

如果没有,我认为下一个最好的方法可能是让 puppet 分发/etc/timezone/etc/localtime在整个集群中使用正确的数据。

任何输入表示赞赏!

debian puppet dpkg timezone debconf

66
推荐指数
2
解决办法
4万
查看次数

如何在centos 6.2中更改时区?

这是我的date命令的输出:

[root@r1304 ~]# date
Wed Apr 18 15:43:28 GST 2012
Run Code Online (Sandbox Code Playgroud)

我想将默认系统时区更改为亚洲/迪拜。我按照教程做了这个:

ln -sf /usr/share/zoneinfo/Asia/Dubai /etc/localtime
Run Code Online (Sandbox Code Playgroud)

但是没有效果。似乎这在 CentOS 6 中的做法有所不同。如何更改时区?

centos timezone centos6

33
推荐指数
2
解决办法
7万
查看次数

cron 作业使用哪个时区?

我猜我的 PHP 时间和服务器时间之间存在差异。

当我在 PHP 中检查当前时间时,它显示正在使用 MST。但是,cron 作业没有在正确的时间运行。

如何检查服务器本身使用的时区,而不是 PHP 设置使用的时区?

linux php time timezone

26
推荐指数
4
解决办法
6万
查看次数

使用自动脚本设置时区

我正在编写脚本来自动设置新的 slicehost 安装。在一个完美的世界中,在我启动脚本后,它会运行,而不会引起我的注意。我成功了,只有一个例外。

我如何设置时区,永久(重新启动后幸存)和理智(调整标准和夏令时,所以不只是强制日期)......不需要我输入的方式?

目前,我正在使用

 dpkg-reconfigure tzdata
Run Code Online (Sandbox Code Playgroud)

这似乎没有任何方法可以强制参数进入它。它需要用户输入。


编辑:我在这里编辑,而不是评论,因为评论似乎不允许代码块。

这是我最终得到的实际代码,基于下面 Rudedog 的评论。我还注意到这不会更新 /etc/timezone.conf 。我不确定谁在使用它,但如果有人使用它,我也会设置它。

TIMEZONE="America/Los_Angeles"      
echo $TIMEZONE > /etc/timezone                     
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime   # This sets the time
Run Code Online (Sandbox Code Playgroud)

scripting linux debian bash timezone

21
推荐指数
1
解决办法
2万
查看次数

不同时区的 Crontab 时间表

我想在 EST 中安排我的任务,但我希望实际任务在默认系统时区下运行。

这样做的最佳方法是什么?

cron timezone

20
推荐指数
2
解决办法
2万
查看次数

PostgreSQL 时区与系统时区不匹配

尽管整个系统是“欧洲/维也纳”,但我有几个 PostgreSQL 9.2 安装,其中 PostgreSQL 使用的时区是 GMT。我反复检查postgresql.conf包含timezone的设置,所以要根据它应该退回到系统的时区的文档。

然而,

# su -s /bin/bash postgres -c "psql mydb"

mydb=# show timezone;
 TimeZone 
----------
 GMT
(1 row)

mydb=# select now();
              now              
-------------------------------
 2013-11-12 08:14:21.697622+00
(1 row)
Run Code Online (Sandbox Code Playgroud)

任何提示,格林威治标准时间时区可能来自哪里?系统用户没有TZ设置/etc/timezone并且/etc/timeinfo似乎配置正确。

# cat /etc/timezone 
Europe/Vienna
# date
Tue Nov 12 09:15:42 CET 2013
Run Code Online (Sandbox Code Playgroud)

任何提示表示赞赏,提前致谢!

postgresql timezone

18
推荐指数
1
解决办法
4万
查看次数

无效的时区“UTC”

列出可用时区显示“UTC”

$ timedatectl list-timezones
UTC
Run Code Online (Sandbox Code Playgroud)

将其设置为 UTC 失败,声称 UTC 是“无效的”。

$ timedatectl set-timezone UTC
Failed to set time zone: Invalid time zone 'UTC'
Run Code Online (Sandbox Code Playgroud)

这是在 Ubuntu 19.10(谷歌云)上

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:  Ubuntu 19.10
Release:  19.10
Codename: eoan
Run Code Online (Sandbox Code Playgroud)

为什么这会失败?

ubuntu timezone

18
推荐指数
1
解决办法
2450
查看次数

如何让 Jenkins CI 在 debian Squeeze 上使用本地时间而不是 UTC

我在 debian 上安装了 Jenkins-ci。

当前默认时区:“美国/多伦多”
当地时间现在是:2012 年 7 月 9 日星期一 16:00:57 EDT。
现在的世界时间是:2012 年 7 月 9 日星期一 20:00:57 UTC。

在 /etc/default/rcS 文件中,我有:

UTC=否

不幸的是,这不起作用,在詹金斯的系统信息中:

user.timezone 等/UTC

我搜索了几个小时......不幸的是找不到修复任何帮助将不胜感激。

感谢您的时间

time timezone jenkins

17
推荐指数
3
解决办法
4万
查看次数

标签 统计

timezone ×10

debian ×2

docker ×2

linux ×2

time ×2

bash ×1

centos ×1

centos6 ×1

cron ×1

date ×1

debconf ×1

dpkg ×1

jenkins ×1

php ×1

postgresql ×1

puppet ×1

scripting ×1

ubuntu ×1