场景

在 Docker Hub 中的 MySQL 官方镜像中,时区是使用了世界标准时间(UTC)。因为在中国使用,所以需要把时区改成东八区的。

方法1

1、查看当前时区

date -R

2、修改设置时区。先输入 tzselect 命令,然后根据提示,通过输入选项前面的数字来确定选项。我的例子,先选择 Asia ,再选择 Hong Kong。香港和中国采用了同样的东八区时间。

3、复制相应的时区文件,替换原来的时区文件。命令如下:

/usr/share/zoneinfo/Asia# cp Hong_Kong /etc/localtime

我们需要的时区文件在目录 /usr/share/zoneinfo/Asia 下。文件名字是 Hong_Kong。把它拷贝覆盖 /etc/localtime 文件。

4、重新输入命令 date -R,就可以看到修改时区后的中国时间了。

方法2

我自己找到了一种不用 tzselect 的方法。
目录/usr/share/zoneinfo/Asia下有各个亚洲地区的时区的文件。查看这个目录下的内容:

/usr/share/zoneinfo/Asia# ls -hl

lrwxrwxrwx 1 root root    6 Jul  6 02:15 Shanghai -> ../PRC
lrwxrwxrwx 1 root root   12 Jul  6 02:15 Singapore -> ../Singapore

从查询结果可以知道,上海的时区文件实际上是个软连接文件。连接到了目录 /usr/share/zoneinfo/ 下的PRC文件。
直接进行拷贝:

cp /usr/share/zoneinfo/PRC /etc/localtime

然后这样就可以了。

原文地址: 点击这里

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐