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

本文介绍了解决Docker容器时间与本地时间不一致的问题,提供了两种方法:一是通过Dockerfile设置时区;二是启动容器时挂载宿主机时间。适用于需要精确时间同步的Docker应用。

近日测试提了个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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值