ubuntu 设置时区_Docker Ubuntu 16.04 容器中如何设置北京时间

本文介绍了在Docker的Ubuntu16.04容器中调整时区为北京时间的简便方法。通过复制主机上的/etc/localtime文件到容器内,可以快速将容器时区设置为东八区。具体步骤包括生成/etc/localtime文件副本,然后在容器中删除原有文件并替换为新的时区文件,最后验证时间已更改为北京时间。
摘要由CSDN通过智能技术生成

Docker Ubuntu 16.04 容器中如何设置北京时间

【泛智能时代】

7b9aaa0584682faa4f805b4c9d8f8d01.png

导读: Docker 容器很方便,能够轻量地启动停止各种容器。但我启动了一个 Ubuntu 16.04 的容器,发现里面的显示时间不对。

这个问题怎么解决:

先来看看问题。

启动一个容器,并用显示时间命令看看容器里的时间:

$ docker run -it ubuntu:16.04root@671e9ca48fdf:/# date  Tue Aug 13 13:34:49 UTC 2019

此时,我的主机时间是:

$ dateTue Aug 13 21:37:26 HKT 2019

可以看出,两者相隔的时间是 8 小时,因此,推断出来,容器里的时区是经度 0 的时区(因为北京时间是东八区)。

此时需要怎么做才能让这个窗口里面能显示北京时间(东八区的时间)?

一个方法是用命令 tzselect. 但是这个命令在 ubuntu:16.04 的容器中依赖太多,并不一定有效。怎么快速的设置时区呢?

这里介绍一个比较方便的方法。先找到能正确显示时区的主机上的文件路径 /etc/localtime, 一般情况下,这个 /etc/localtime 是一个链接文件,我们可以通过运行 cat /etc/localtime > /tmp/localtime 来生成一个文件,然后把这个文件拷贝到容器中的位置 /etc/localtime 即可。

是不是很简单?

主机上完整的执行脚本:

$ cat /etc/localtime > /tmp/localtime$ docker cp /tmp/localtime 671e9ca48fdf:/tmp/localtime

再进容器中,执行如下命令:

root@671e9ca48fdf:/# rm /etc/localtimeroot@671e9ca48fdf:/# cp /tmp/localtime /etc/localtime && root@671e9ca48fdf:/# dateTue Aug 13 21:47:16 HKT 2019

执行完之后,再运行 date 查看时间:

d3ec3e638a035ba2b5fadd29d118053d.png

这回世界正常了。

【泛智能时代】不来虚的,更多干货等你发现【泛智能时代】 jd_geek

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值