如何对alpine设置时区为Asia/Shanghai

alpine是个非常简单的docker镜像,沿用以前的修改容器时间的方法都不能起效,因为它去掉了很多功能,其中就去掉了timezone这个功能,默认就是UTC时间。

我们进入alpine容器内看看里面的内容:
docker exec -it –rm alpine /bin/sh
> date
显示的是UTC时间,和北京时间相差8小时
> ls /usr/share/zoneinfo/
提示目录不存在

所以,我们需要对alpine补全这个timezone的功能,如此才能起效,Dockfile的内容如下:
FROM alpine
RUN apk add –no-cache tzdata
ENV TZ=Asia/Shanghai

为什么要安装tzdata这个包,见下面的参考资料《Linux – 时区和时间调整方法》,讲得很好。

参考资料

Docker Alpine 镜像设置东八区
https://github.com/gliderlabs/docker-alpine/issues/136
Linux – 时区和时间调整方法

发表评论

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