Commit Graph

98 Commits

Author SHA1 Message Date
Justin Cormack
59353f78c0 Update Docker init script for 1.13
- never update root filesystem see #583
- remove tests for earlier docker versions
- only use iptables override on desktop

fix #753

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-21 21:15:24 +00:00
Justin Cormack
f69f9a3427 Use syslog local0 for docker logs
This allows log rotation, redirect via syslog etc.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-18 16:23:41 +00:00
Justin Cormack
2759c51105 Merge pull request #743 from justincormack/no-bind-log
Do not try to bind mount logs onto host on osx
2016-11-18 10:43:50 +00:00
Justin Cormack
2e4ee1a73f Default to experimental if not specified in daemon.json
Most editions were shipping with experimental; now it is a daemon
flag this seems the best behaviour.

Only do this on recent dockerd as we are still supporting 1.12 for
a while longer.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-17 20:46:44 +00:00
Justin Cormack
66c03d8cd5 Do not try to bind mount logs onto host on osx
This is not working well, and was binding over the logs, and losing
logs. We need a uniform approach on all platforms, planned to be
syslog.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-16 16:08:03 +00:00
Justin Cormack
3cead2d813 Increase default memlock ulimit
Fix #610

Users can override, but the default is low.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-14 11:27:45 +01:00
Justin Cormack
11125429f3 Default to overlay2
If there is no storage-driver set in daemon.json and no
aufs directory in the docker directory, use overlay2 as the storage
driver.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-13 16:08:20 +01:00
Justin Cormack
ce6ae3a70b fix checking for debug key exists
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-26 22:24:48 +01:00
Justin Cormack
9a96f5da8c Add support for running a development bundle of Docker
Add a database key `bundle` that contains a path to a Docker dev
bundle eg `/.../docker/bundles/1.13.0-dev` where the docker
binaries to run can be found. This will be paired with a script
in `docker/docker` to set this key, so users can easily help
contribute to Docker development.

The change will be permanent until the key is removed or a factory
reset is done, or the bundle cannot be found.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-13 22:46:27 +01:00
Justin Cormack
b392bf0a2e Simplify kernel output and main Dockerfile
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 16:02:07 +01:00
Justin Cormack
b0f3012993 Run dockerd in debug mode if not overridden in config file
Fix #448

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-31 12:29:23 +01:00
Justin Cormack
2ed6616195 Remove hacky code for fast shutdown
Shutdown without this still seems pretty quick, and we are no longer
shutting down frequently for state changes, so I think this is a
reasonable change.

See #430

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-08-24 00:24:02 +01:00
Justin Cormack
e534f613ca Resolved how to get busybox to created shared mounts
Not documented...

Removed util-linux again.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-23 00:17:08 +01:00
Justin Cormack
0032e8dcfc Fix shared mount of /run
Needs util-linux for now, see https://github.com/docker/moby/issues/424

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-22 23:04:57 +01:00
Justin Cormack
496c7caeed Create a systemd cgroups mountpoint
This allows systemd based containers to "just work".

Fixes https://github.com/docker/pinata/issues/3126

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-10 14:27:17 +01:00
Justin Cormack
9e51ff5401 Allow longer for Docker to shut down
Docker needs 10s at least for containers to be allowed to shut down,
so allow 15s maximum between SIGTERM and SIGKILL.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-28 17:25:49 +01:00
Justin Cormack
6c9a66263e On desktop editions, set default swarm advertise address to eth0
This allows plain `swarm init` to work. We do not support multi
node clusters yet as there is no way to reqach this address from
externally at present.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-26 16:10:20 +01:00
Justin Cormack
2971b83f25 Posixly correct = not ==
See #161 #170 should be covered...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:33:01 +01:00
Justin Cormack
67b2a00853 Add conditional services based on mobyplatform
Replaces https://github.com/docker/moby/pull/282

Use mobyplatform=xxx to specify platform in boot command

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-18 12:39:14 +01:00
Justin Cormack
498c481700 Wait for docker to finish starting up before terminateing init script
This means dependent services can rely on docker being up.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 11:29:32 +01:00
Justin Cormack
9c0a1387ea set nofile ulimit to maximum possible value
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-13 14:04:49 +01:00
Rolf Neugebauer
c09905199a init: don't start docker on 0.0.0.0:2375 on DfM/DfW
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 14:08:55 +01:00
David Scott
dfb97863c9 /etc/init.d/docker: prepend /usr/local/sbin to the $PATH
This is where the iptables wrapper lives.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Sheets
8473eb56f2 Remove /Mac in docker init and transfused init
Replace /Mac with /host_docker_app and replace driverDir with just driver.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-08 14:36:26 -07:00
Justin Cormack
6e25acbe30 use cat not sysctl for reading sysctl values
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-04 15:47:46 +01:00
Justin Cormack
cf4832b225 Increase ulimits as high as possible
Setting unlimited improves performance.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-04 14:37:28 +01:00
David Sheets
cbe7c2af5c docker init: remove fixed host export mounts
Signed-off-by: David Sheets <dsheets@docker.com>
(cherry picked from commit 760840ac69)
2016-07-02 12:27:09 -07:00
Ian Campbell
e84371fc9c Use "mkdir -p /run/log" in docker initfile
For the "no error if existing" rather than "make parents" affect. Otherwise:

moby:~# service docker restart
 * Stopping docker
 * Starting Docker ...
mkdir: can't create directory '/run/log': File exists
 [ ok ]

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-17 13:57:33 +01:00
Justin Cormack
dd5fe0455b Update to docker 1.12-dev plus proxy patches, close to what will be rc1
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-14 14:13:36 +01:00
Ian Campbell
a0f2582aba Bind the original /var/log onto /run/log
So that it can be inspected while debugging.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-13 12:07:26 +01:00
Ian Campbell
4d4ea240a8 Use /proc/mounts in docker init script
Switch one instance of /etc/mtab.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-13 12:07:26 +01:00
Justin Cormack
cb827b9521 missing /proc.mounts
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 10:40:10 +01:00
Justin Cormack
31c5b24513 remove transfused dependency from hostsettings by putting log mounts in docker startup
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-10 11:26:32 +01:00
Justin Cormack
30eeba673a remove special treatment of /etc/docker/daemon.conf as we no longer have a watch on it
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-08 13:47:09 +01:00
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
Justin Cormack
5d80b5dfcd fix #169 only do /tmp bind mount if /Mac/tmp exists
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-03 15:15:20 +01:00
Magnus Skjegstad
420f92d3fa also bindmount /tmp once
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2016-06-03 01:44:11 +01:00
Justin Cormack
5832819473 fix typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-02 13:56:20 +01:00
Justin Cormack
35cdbaf458 avoid rebindmounting directories on docker restart
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-02 13:18:27 +01:00
Justin Cormack
a597292272 move log mount to hostsettings not docker startup
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-27 11:41:46 -07:00
Justin Cormack
4f7f9cd2fa Do not try to keep log files, fix #154
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-26 14:24:05 -07:00
Dave Tucker
7318e24b87 Set proxy setting in Docker init script
Signed-off-by: Dave Tucker <dt@docker.com>
2016-05-16 12:07:01 +01:00
Justin Cormack
952bb2d3db Revert "replace chronyd with sntpc, sync every 15s not 15m"
We should not use ntp.org this frequently, need to work out something
that uses host time mainly.

This reverts commit 382f99529d.
2016-05-10 11:29:16 +01:00
Justin Cormack
32ddaae7a5 replace chronyd with sntpc, sync every 15s not 15m
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-10 11:00:51 +01:00
David Scott
34b0d7dc1a docker: argument is now "--userland-proxy-path"
This was changed from "--userland-proxy-bin" in response to review
feedback.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-29 14:56:36 +01:00
Justin Cormack
501301a849 Remove special case for insecure registry
This is now in the daemon.json config file see
https://github.com/docker/pinata/issues/2771

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-26 14:17:16 +01:00
Rolf Neugebauer
e953d12e4e shutdown: use poweroff -f instead of halt -f
This is makes fast shutdown work on Hyper-V

While at it, also clean up whitespaces. The file was mixed
tabs and spaces. Now it uses spaces.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-15 15:10:28 +01:00
Justin Cormack
713af4332b clean up config options
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-11 11:09:55 +01:00
Justin Cormack
293a1eb23d change find to use keys, fix /etc/docker copying using find
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-08 14:03:43 +01:00
Justin Cormack
dba240e1f5 add insecure registry support
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-08 13:47:44 +01:00