关于VirtualBox与UTC导致的虚拟机时间差8小时的问题解决
标题虽然仅与VirtualBox相关,其实主要还是因为docker的问题。主机(本机)和虚机之间相差8个小时。例如当前时间为9:30,那么docker的时间则是1:30。
问题描述:
标题虽然仅与VirtualBox相关,其实主要还是因为docker的问题。
windows下使用docker要使用官方的DockerToolbox工具,会自动产生VirtualBox虚拟机。
而且此虚机所有配置都是不能改动的,因为没有意义,每次重启虚机都会重置改动(实测新建目录除外),
我猜想这是因为docker虚机的sata存储采用的是boot2docker.iso这个打包盘导致的。
既然不能改动,那么诸如时间、root密码、docker用户密码什么的都是不能改动的。
后两者其实问题不大,因为docker不会暴露宿主机,改不改没关系,但是时间困扰了我很久。
问题:
主机(本机)和虚机之间相差8个小时。
例如当前时间为9:30,那么docker的时间则是1:30。
解决方案:
8小时这么整齐的时间,一看就知道是UTC的时区设置问题。
google了一下,在虚机的设置-->系统里面,可以把UTC的设置取消掉:
充满期待地重启虚机,发现时间没有变,还是差8个小时。
root用户尝试重设时间:
date -s 9:30
可以发现时间确实是改了,但是过个3、5秒之后再date一下,发现时间又变回来了。
说明VirtualBox还有时间同步服务在运行,而且使用的是UTC时间。
翻阅资料,按照如下操作即可:
cmd窗口下:
c:
cd "C:\Program Files\Oracle\VirtualBox"
VBoxManage setextradata "default" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"
其中default是虚拟机的名字(如上图中标题栏的内容,注意大小写)。
执行完之后重启虚机,会发现时间已经与当前主机的时间一致了。
不懂,也不想去研究了,只要符合需求就好。
-------------------------------------------------
参考文献:
更多推荐
所有评论(0)