docker 在编译镜像、启动容器时均不会继承宿主机的时区设置。如果容器内的服务对时间不敏感,可能仅是输出日志的时间不是本地时间的问题,而如果服务对时间敏感,比如每天早上九点执行某任务,可能就要出错了。以设为上海时区为例,解决方法有两个,可视情况取舍。
要么在镜像编译时指定好时区:
...
RUN rm /etc/localtime && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
...
要么在容器启动时指定好时区:
docker run -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime:ro ...
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于