Commit Graph

703 Commits

Author SHA1 Message Date
Justin Cormack
b3b38aacc1 Use upstream /etc/securetty
Now we modify the file if we use a different console, can use
upstream unmodified.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 11:58:01 +01:00
Justin Cormack
94778bc174 Merge pull request #273 from ncopa/init-console
add console options from boot cmdline to inittab
2016-07-15 11:42:00 +01:00
Justin Cormack
5b0d4acfdc wait for system containerd to start
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 11:38:05 +01:00
Justin Cormack
5b7ff1f6ef 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
cd18b353a3 Merge pull request #281 from justincormack/containerd
Add a system containerd
2016-07-14 12:32:07 +01:00
Justin Cormack
0ec195786a Add a system containerd
This adds an independent system containerd for running internal
containers.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-14 12:28:44 +01:00
Natanael Copa
8e03b120c3 merge inittab.x86_64 and inittab.armhf
with the login tty generated from boot cmdline the inittab will be equal
on all archs and platforms so we can merge and move to etc/

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:48:26 +02:00
Natanael Copa
67c8361d54 fix initrd.img dependencies
trigger rebuild if init or inittab was changed

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:28:46 +02:00
Natanael Copa
dc47de083e remove getty from inittab
Depend on specifying the console as a boot option

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:28:28 +02:00
Natanael Copa
235ab00582 add console options from boot cmdline to inittab
This will make sure that you get a login console that corresponds to the
boot option.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:27:09 +02:00
Natanael Copa
47545dce55 improve kernel build makefile
- create an empty dummy file to indicate that docker image is built
- reuse same make rule to extract the different files from docker image
- make sure that we remove empty files on failure

This makes build more robust and improves parallelism.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:03:16 +02:00
Justin Cormack
9dad6b6467 set nofile ulimit to maximum possible value
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-13 14:04:49 +01:00
Justin Cormack
72861a6c88 update to 1.12.0-rc4 upstream version
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-13 09:50:25 +01:00
Rolf Neugebauer
0aee0c0ed5 diagnostics: Don't check for transfused on Windows
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 14:28:11 +01:00
Rolf Neugebauer
f8c53db413 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
Rolf Neugebauer
6c95bff567 init: don't start transfused on Windows
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 14:04:08 +01:00
Justin Cormack
a022934760 Merge pull request #269 from rneugeba/kernel-up
kernel: Update to 4.4.15
2016-07-12 10:42:59 +01:00
Rolf Neugebauer
2171a2e471 kernel: Update to 4.4.15
patches from: https://github.com/rneugeba/linux-stable/tree/v4.4.15-moby

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 10:36:57 +01:00
David Scott
4f205ed9b2 iptables: log to /var/log/... rather than /var/run/log
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
f6a85c0592 iptables: only open host ports if native/port-forwarding=true in the db
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
9762094fbb iptables: add a TODO
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
b6fb908ae5 iptables: remove the pid file after sending SIGTERM
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
9e441356b5 proxy: add a -no-local-ip option
docker itself seems to bind to the port globally inside Moby, so we
get an EADDRINUSE if we try to do it too.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
5726f2b2c3 iptables: get the kill arguments the right way round
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
a97d9b92bc iptables: close all the fds we inherit from docker
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
dba37b747c /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 Scott
b672ec9bdd Add primitive iptables wrapper which can set up port forwards
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
Ian Campbell
70514d09b3 Simple build system for ocaml-based iptables
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-12 10:26:39 +01:00
David Sheets
ef98586c22 transfused: add mknod reg file event actuation message
Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-11 16:26:00 -07:00
David Sheets
d376e85e47 sysctl: set a large fs.inotify.max_user_watches limit
Needed by Ruby guard and Dropbox. See https://forums.docker.com/t/running-guard-with-docker-compose-fails-due-to-inotify-limit/17096

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-11 14:37:52 -07:00
David Sheets
dcfe76be64 linux: allow kernel module unloading
The ability to unload kernel modules helps with rapid development of kernel
modules or Moby-integrated functionality. It has no negative side effects
as far as I am aware.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-11 11:48:46 -07:00
Justin Cormack
5d86bfcfe0 Fix user namespace support
fix #153

For now, just create the default remap user, rather than trying
to fix the command emulation. The existing code in docker is not
ideal, as it is GNU specific, try to find a better option for
1.13.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-11 14:47:23 +01:00
Justin Cormack
049f3ff9a6 remove syslog fix, as now upstream
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-11 14:31:25 +01:00
David Sheets
11f965ce7b 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
e771c02218 Add a custom sysctl file
This increases resource limits that have been generally requested.

See #232

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-08 18:16:05 +01:00
Justin Cormack
f349515701 Add some more docker tests, including running image
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-08 16:54:18 +01:00
Justin Cormack
e6f4364f07 Merge pull request #251 from dsheets/transfused-export-suitability
transfused: distinguish export requests from mount requests
2016-07-08 16:30:04 +01:00
Justin Cormack
ab365e38a0 Merge pull request #255 from justincormack/e1000
add e1000 drivers, allows qemu default setup to find an ethernet, and…
2016-07-08 16:28:24 +01:00
Justin Cormack
7d605926f0 add e1000 drivers, allows qemu default setup to find an ethernet, and used frequently in emulated environments
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-08 16:26:16 +01:00
Rolf Neugebauer
6125e66e5c linux: properly update kernel patches to v4.4.14
When we updated from 4.4.10 to 4.4.14 we copied the patches over.
This changeset properly updates the patches so that they apply cleanly.
0039-VSOCK-do-not-disconnect-socket-when-peer-has-shutdow.patch was
removed as it made it into 4.4.14 already.

Compile tested only

For reference the patches were generated from:
https://github.com/rneugeba/linux-stable/tree/v4.4.14-moby

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-08 16:10:51 +01:00
Justin Cormack
ede5a0ea6f Initial test hooks
Beginning of a proper test suite, using qemu. Test just runs docker
for now, will add further integration tests.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-08 15:44:04 +01:00
Justin Cormack
95f6ca9f70 Merge pull request #250 from djs55/vsock-ulimit
proxy-vsockd: bump the max number of file descriptors
2016-07-06 14:52:01 +01:00
Ian Campbell
3547fb21cf Merge pull request #241 from ijc25/logging-over-vsock
mac: Redirect syslog over vsock
2016-07-05 17:54:30 +01:00
Ian Campbell
125e3de03b Merge pull request #207 from ijc25/ntp-from-dhcp
[Post Dockercon] Use $ntpsrv from DHCP to configure chrony
2016-07-05 14:23:49 +01:00
David Sheets
fbcba85f0e transfused: distinguish export requests from mount requests
We distinguish export suitability requests from bind mount suitability
requests in the transfuse control protocol. This distinction allows us to
permit both bind mounts of empty directories and export mounts onto empty
directories. Addresses docker/pinata#4213.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-04 18:53:05 -07:00
David Scott
e32a516406 proxy-vsockd: bump the max number of file descriptors
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-04 21:49:17 +01:00
Justin Cormack
cdad79e916 Updated kernel config
Remove one module, Xen ones not removeable. Make oldconfig.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-04 17:03:10 +01:00
Justin Cormack
6ad074f65b Merge pull request #246 from ijc25/populate-lib-modules
Populate /lib/modules/`uname -r`
2016-07-04 15:48:53 +01:00
Justin Cormack
18b933e81b 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
Ian Campbell
209dd754bc Populate /lib/modules/uname -r
This is less to do with installing modules (which we generally don't expect to
use in Moby) but to populate /lib/modules/`uname -r`/modules.builtin which
turns:

    moby:~# modprobe ip_vs
    modprobe: FATAL: Module ip_vs not found in directory /lib/modules/4.4.14-moby
    moby:~# modprobe nf_nat
    modprobe: FATAL: Module nf_nat not found in directory /lib/modules/4.4.14-moby
    moby:~#

into:

    moby:~# modprobe ip_vs
    moby:~# modprobe nf_nat
    moby:~#

which reduces the amount noise in the logs, e.g. in docker.log:

time="2016-07-04T11:21:58Z" level=warning msg="Running modprobe nf_nat failed with message: `modprobe: WARNING: Module nf_nat not found in directory /lib/modules/4.4.14-moby`, error: exit status 1"

A fair number of these appear in the logs.

This also stops various tools logging about /lib/modules/`uname -r` not
existing (there was one in the boot log until recently I think)

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-04 15:44:48 +01:00