Dockerfile 设置时区
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
或:
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
创建容器时设置时区
方式一:
将宿主机的时区挂载到容器
docker run -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime
方式二:
Docker 修改已运行容器的时区
- 先进入容器内:
- 设置时区
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意:如果没有设置容器的时区环境变量:
ENV TZ=Asia/Shanghai
,可能在操作系统用date
命令看到时间是正确的,但是运行的程序(Node.js、Java)的时间还是老的。