Docker容器时间与宿主机差8小时

近日测试提了个bug说是登录时间比北京时间晚了8个小时,发现是docker容器的问题,Linux下用date查看的时间与在docker容器里面用date查看的时间相差8小时,docker容器里默认是 UTC 时间,本人用一下两种方式尝试了均可以,自己做个笔记:

第一种: 新构建镜像时,Dockerfile里面添加如下语句,指定时区:

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone

 第二种:已经构建好的镜像在启动时用 "-v"命令指定共享宿主机时间,如 镜像id为 e44a34f8e997 ,启动容器并重命名为mycontainer,映射宿主机端口 9999到容器8888:

docker run --name mycontainer -v /etc/localtime:/etc/localtime:ro  -p 9999:8888 e44a34f8997

猜你喜欢

转载自blog.csdn.net/cong_da_da/article/details/81985851