解决docker容器时间与本地时间不一致
解决docker容器时间与本地时间不一致
原因
在docker容器和系统时间不一致是因为docker容器的原生时区为0时区,而国内系统为东八区,当然,我们不深究其原因。
解决办法
1)进入容器
docker exec -t -i c360cc412528 /bin/bash // c360cc412528 为容器id
2)在/usr/share/zoneinfo目录下找上海时区
cd /usr/share/zoneinfo/Asia
3)复制上海时区到 /etc 重命名localtime文件
copy Shanghai /etc/localtime
在使用copy时,提示我们:
bash: copy: command not found.
那么我们可以使用 cp -i Shanghai /etc/localtime
,效果是一样的
# date
Thu Dec 26 22:22:52 CST 2019
在Mysql 容器遇到问题
虽然容器时间已进行同步,但Mysql内置时间不同步;
当执行:
SELECT NOW();
此时时间依旧未变;
需要对容器进行关闭后重启:
# 关闭
docker stop a9445f4ced7f
# 启动
docker start a9445f4ced7f
# 注: a9445f4ced7f 为mysql容器id