最近部署一套系统时, 系统有个功能依赖容器时间来做判断, 发现容器与宿主机时间不一至.
1. 宿主机正常情况下, 可以直接复制文件解决.
.profile 增加
TZ='Asia/Shanghai'
export TZ
复制文件到容器:
sudo docker cp /etc/localtime 064b2d54cd25:/etc
sudo docker cp /usr/share/zoneinfo 064b2d54cd25:/usr/share/
2. 刚开始创建容器时,共享主机localtime
docker run --name=qinjiaxi --net=host -it -v /usr/share/:/share/ -v /etc/localtime:/etc/localtime
3. 在创建dockerfile时自定义镜像的时间格式与时区
在dockerfile创建初期增加一行内容,内容规定了该镜像的时间格式以及时区。
设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone