Docker——时间配置
2024-09-06 13:06:26
一、常用时间表示
- GMT(Greenwich Mean Time):格林威治时间,格林威治被定义为了\(0^o\)经线开始的地方,地球每15进度分为一个时区,共24个时区,相邻时区相差1个小时.中国位于东八区,全国统一采用北京时间,比GMT时间快8小时
- UTC(Coordinated Universal Time):世界协调时间,由于使用了原子钟,是比GMT更为精确的计时.
- CST(China Standard Time):中国标准时间,以北京时间为标准,比UTC时间多8个小时
二、Docker中的时间
- 之前旧的数据库由于服务器到期而被删了,后来自己又通过docker重新装了一个5.6版本的数据库.后来在项目中意外地发现所用的时间居然是错误的.当前时间是
2021/3/12 14:21
,使用SELECT NOW()
指令查看时间,可以看到时间刚好差了8个小时. - 为了了解mysql的时间配置,我们可以使用
show variables like "%time_zone%"
命令查看相关的配置.根据第一块内容可以了解到是由于直接采用了UTC时间所以才导致时间的误差,解决的办法是修改相应的配置文件,在其后添加default-time_zone='+8:00'
即可.这样做确实是解决了问题. - 然而,很快我发现根本原因并不在于Mysql自身.因为在同学的主机上使用相应的指令却发现时间是正确的,显然Mysql的时间大概率是和操作系统相适应的,所以我猜测根本问题还是docker生成的容器(也可以相当于一台主机)时间有问题.果然,在主机上使用date命令发现确实如此.根据相关的blog,在/usr/share/zoneinfo/Asia文件夹下找到Shanghai时区的配置,通过
cp -i Shanghai /etc/localtime
命令直接对本地的时区进行了覆盖,将对应的容器restart之后,成功解决!
最新文章
- public, protected and private inheritance in C++
- 值得 Web 开发人员收藏的16款 HTML5 工具
- 在windows下安装GIT
- MongoDB C++ 2.4.5 driver 编译安装问题
- 金融管理 - MBA智库百科
- VIM编辑器操作命令积累
- jenkins新建slave
- SpringMVC 文件上传下载
- 48 【golang】json的效率
- 两个线程分别打印 1- 100,A 打印偶数, B打印奇数。
- 同一台电脑使用多个ssh连接git,出现权限不够的问题
- 转:初探nginx架构(一)
- 深入理解JVM(三)——垃圾收集策略具体解释
- 高效的MySQL分页——利用子查询分页
- VS2010创建动态链接库(DLL)的方法
- The YubiKey -- HOW IT WORKS
- linux 内核参数调整优化网络
- Python初学者第十七天 函数(1)
- angular.copy() 取消angular的数据双向绑定
- Linux多网口绑定配合华为5700 eth-trunk技术,提高网络性能
热门文章
- 【Gym101137K】Knights of the Old Republic(生成树 DP)
- Solution -「UOJ #46」玄学
- 在使用Vant中Uploader过程中遇到的坑:图片状态更改等
- Android编译优化系列-kapt篇
- C语言字符串输入输出函数(gets()函数、puts()函数、fgets()函数、fputs()函数)
- 【C# 并发编程】开端
- 【NumPy】 之常见运算(np.around、np.floor、np.ceil、np.where)(转)
- JZ-056-删除链表中重复的结点
- LeetCode-025-K 个一组翻转链表
- git-切换远程仓库