A toolkit for building secure, portable and lean operating systems for containers
Go to file
Ian Campbell d1e5ba6121 Point chronyd at gateway when ntp=gateway is given on the kernel cmdline.
Reconfigure chronyd in a udhcpc post-bound hook and restart it, but use
conditionalrestart so it is not started if it isn't running, which is the case
during boot when this hook happens from init.d/networking via ifup, running
"service ... start" in that context results in the daemon running but the
service db saying it isn't.

Doing it in the udhcpc hook leaves a nice hole where support for getting the
NTP server via DHCP can fit in once it is available.

This also switches from using "initstepslew" to "makestep", the former was
responsible for the long delay starting chronyd (meaning we can now drop
"before chronyd" from Docker's init dependencies), while the later will force a
step if the time is out by more than the configured amount (half a second
here), meaning it will be corrected on resume. The rest of the time it chrony
will do the usual slewing to keep the clock accurate. Passing -1 as the limit
to "makestep" ensures the step will always occur, if it were positive it would
only be done that number of times.

We add "iburst" and "minpoll 2" to the default configuration file to speed up
initial sync and resync after sleep respectively, resync after sleep happens in
a couple of seconds. In "ntp=gateway" mode we also patch in "trust", this isn't
in the default config file since we won't be so sure about DHCP provided
servers, but when talking to a host provided NTP we want to use its time (for
sync accross host mounts) even if it has a crazy idea about what the time is.

With this we can also remove the 15min ntp sync, which in turn gets rid of the
need for cron.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-08 13:19:35 +01:00
alpine Point chronyd at gateway when ntp=gateway is given on the kernel cmdline. 2016-06-08 13:19:35 +01:00
licensing Update to Alpine 3.4 2016-06-03 12:45:15 +01:00
requirements Initial requirements 2015-11-26 15:17:40 +00:00
scripts win: remove PS script and documentation. They live elsewhere now 2016-02-05 16:58:59 -08:00
xhyve fix some pedantic xhyve build issues with newer toolchain 2016-03-29 18:46:20 +01:00
.dockerignore add more dockerignores 2016-04-13 11:24:31 +01:00
Dockerfile.qemu we already have compressed initrd 2016-05-05 12:09:48 +01:00
Dockerfile.qemu.armhf more memory 2016-03-11 14:13:12 +00:00
Dockerfile.qemuiso add a qemu iso target 2016-02-19 16:11:23 +00:00
Makefile remove more kexec code 2016-04-06 10:28:15 +01:00
README.md update README for qemu, arm support 2016-01-19 10:44:03 +00:00

Base repo for Moby, codename for the Docker Linux distro

Initial requirements are being driven by the very minimal goal of replacing boot2docker for the new Mac app.

However these requirements are fairly small and the scope is intended to be much broader.

Simple build instructions: use make to build. make xhyve will boot it up on a Mac; unless you run with sudo you will not get any networking. make qemu will boot up in qemu in a container.

You can build for arm, some parts still under development, make clean first, then make qemu-arm will run in qemu.