Docker build 设置系统时区

1,104 阅读1分钟

Alpine Linux 镜像 Dockerfile 添加如下两行即可

RUN apk update && apk add tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

Ubuntu 镜像设置默认时区

/etc/localtime是用来描述本机时间,localtime函数就是读取该文件获取本机时间的,/etc/timezone是用来描述本机所属的时区。/usr/share/zoneinfo目录属于tzdata包,所以我们需要安装tzdata包才能设置对应时区

FROM ubuntu
# 由于安装tzdata的时候,bash会有交互操作叫你选择对应的时区,在docker build的时候没有交互的,所以需要加上DEBIAN_FRONTEND="noninteractive"
RUN apt-get -y update && DEBIAN_FRONTEND="noninteractive" apt -y install tzdata
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone