使用docker创build时钟歪斜

我想validation分布式系统上时钟偏移的影响,最简单的方法就是使用多个连接在一起的docker容器。

我可以修改各个docker集装箱的时钟,使它们与主机分离吗?

我不确定链接的答案是完全合适的。

简单的事实是容器只是进程:你不能在一个正常的subprocess中不能做的任何事情。 你可以使用时区等来解决问题,但它们仍然引用与其他任何内核时钟相同的内核时钟。

如果你真的想玩时间偏差,你可能需要调查某种虚拟化解决scheme。

如果你想用不同的时间运行一个容器,你可以用不同的时区启动它,参见https://github.com/docker/docker/issues/3359#issuecomment-32150214

$ docker run --rm busybox date Thu Mar 20 04:42:02 UTC 2014 $ docker run --rm -v /etc/localtime:/etc/localtime busybox date Thu Mar 20 14:42:20 EST 2014 $ FILE=$(mktemp) ; echo $FILE ; echo -e "Europe/Brussels" > $FILE ; docker run --rm -v $FILE:/etc/timezone -v /usr/share/zoneinfo/Europe/Brussels:/etc/localtime busybox date /tmp/tmp.JwL2A9c50i Thu Mar 20 05:42:26 CET 2014