Docker容器与宿主机时间同步解决方案
2022/1/12 13:03:24
本文主要是介绍Docker容器与宿主机时间同步解决方案,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
每日一句
You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.
你不能改变你的过去,但你可以让你的未来变得更好。一旦时间浪费了,生命就浪费了。
概述
如果在启动Docker容器的过程中没有单独配置localtime,很可能造成Docker容器时间与主机时间不一致的情况,比如UTC和CST相差8小时,换句话来说就是容器时间与北京时间相差8个小时
可以通过 date
命令分别查看容器和宿主机系统时间
解决方法
1. docker run 添加参数
-v /etc/localtime:/etc/localtime # 实例 docker run -p 3306:3306 --name mysql -v /etc/localtime:/etc/localtime
2. DockerFile
# 方法1 # 添加时区环境变量,亚洲,上海 ENV TimeZone=Asia/Shanghai # 使用软连接,并且将时区配置覆盖/etc/timezone RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone # 方法2 # CentOS RUN echo "Asia/shanghai" > /etc/timezone # Ubuntu RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3. docker-compose
#第一种方式(推荐): environment: TZ: Asia/Shanghai #第二种方式: environment: SET_CONTAINER_TIMEZONE=true CONTAINER_TIMEZONE=Asia/Shanghai #第三种方式: volumes: - /etc/timezone:/etc/timezone - /etc/localtime:/etc/localtime
- 宿主机直接执行命令给某个容器同步时间
# 方法1:直接在宿主机操作 docker cp /etc/localtime 【容器ID或者NAME】:/etc/localtime docker cp -L /usr/share/zoneinfo/Asia/Shanghai 【容器ID或者NAME】:/etc/localtime # 方法2:登录容器同步时区timezone ln -sf /usr/share/zoneinfo/Asia/Singapore /etc/localtime
注:这种方式在容器中运行的程序的时间不一定能更新过来,比如在容器运行的mysql服务,在更新时间后,通过sql查看mysql的时间
select now() from dual;
可以看到,时间并没有更改过来 ,这时候必须要重启mysql服务或者重启docker容器,mysql才能读取到更改过后的时间
美文佳句
不知什么时候起,熬夜仿佛成了奋斗的标志。但仔细想想,能拉开人与人差距的往往不是晚睡,而是早起。
有位网友参加了一项“早起30天”的挑战。他是个普通上班族,以前熬夜加班后白天再继续工作,总觉得自己在被任务拖着走,忍不住打瞌睡。开始坚持早睡早起后,犯困成了偶尔的事,工作效率大幅提升。成功避开了地铁早高峰,他再也不用体会被拥挤人潮推着走的感觉。由于头脑清醒,他做事更有计划,在工作时还会不时冒出各种创意。
早起,看似是细微的改变,收获却不容小觑。生活还是同样的生活,忙碌还是同样的忙碌,但是选择早睡早起,你就可以抓住了生活的主动权。
这篇关于Docker容器与宿主机时间同步解决方案的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程