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