目录

Docker容器设置时区的几种方式

背景

在本地运行项目时,使用的是mac本地时区一切正常,但部署到服务器容器中,用的是世界时区差8个小时。

解决办法

1. 在Dockerfile中设置镜像时区

1
2
3
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

2. 创建容器时设置时区

将宿主机与容器的时间进行挂载

1
-v /etc/localtime:/etc/localtime

3. 进入容器进行设置

1)进入容器内:

1
docker exec -it 容器名 /bin/bash   

2)设定时区

1
2
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime