Commit Graph

203 Commits

Author SHA1 Message Date
Justin Cormack
a62f4ce7dd Update base image
- fix `df` failing with overlay
- four more openssl CVEs
- add dhcpcd (unused)
- add openssh server (unused)

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-22 16:42:06 +01:00
Justin Cormack
b46eb7f3d9 Enable local service
Files in `/etc/local.d/` will be executed:

If a file in this directory is executable and it has a .start extension,
it will be run when the local service is started. If a file is
executable and it has a .stop extension, it will be run when the local
service is stopped.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-22 13:39:10 +01:00
Justin Cormack
540bfe2d2e update base image
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-20 09:49:43 +01:00
Justin Cormack
468c8ba010 Add rngd
Tweak the config to use RDSEED or (fallback) RDRAND. Makes sure
we have initial random seed in cases where there is no other
random source if these are supported.

The default config in Alpine currently disables these, which makes
it pretty useless, as there is no motherboard rng support any more.

Replaces #517
Fix #514
Fix #183

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-16 15:32:56 +01:00
Justin Cormack
a81485c79f Add curl to base
We need this to self host if you specify a custom version of Docker.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-16 12:54:03 +01:00
Justin Cormack
4b9b8295c5 Explicitly set the apk repositories we use
Previously we used the defaults (main and community) but we
currently only need main, but are likely to need some packages
from edge soon.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-16 10:58:54 +01:00
Justin Cormack
8ed08dcdda Make self hosting by adding make and GNU tar
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-12 16:36:01 +01:00
Justin Cormack
a99eec5151 Set CMD to mkinitrd
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 16:02:07 +01:00
Justin Cormack
43ab6520cf update to latest alpine base images
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 16:02:07 +01:00
Justin Cormack
347328f348 clean up main Dockerfile and Makefile to use exact correct context, tar input
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 16:02:07 +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
b605c70ce5 move mkinitrd to /
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 16:02:07 +01:00
Justin Cormack
276157a769 Move all output to the directories it will be in eventually
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 16:02:07 +01:00
Justin Cormack
b69893eb6d Clean up proxy Makefile
Model for the others, make sure dependencies are correct and that
only the exactly correct things are passed to Docker. No longer copy
vendor directory.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 15:59:19 +01:00
Justin Cormack
0978a92262 run crond for log rotation
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-31 19:08:56 +01:00
Justin Cormack
15861d87f9 Update Alpine base with DNS search domain config
See #433

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-31 09:52:01 +01:00
Justin Cormack
80bba73349 Switch to ksyslogd to add log rotation
See #441

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-30 11:37:30 +01:00
Justin Cormack
e03695bfa4 switch to mobylinux hub org
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-08-30 10:43:50 +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
f88bb528af Remove util-linux
This was added in #87 to support Kubernetes, but they no longer
support install via Docker so can remove.

Hopefully we have not started requiring this for anything else.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-08-20 11:03:33 +01:00
Justin Cormack
7420a00ba5 [WIP] Make builds repeatable by tagging an image based on hash of package install
This tags a base Alpine image with the packages we use by finding
the has of the package install manifest and using that to tag
the image on hub.

Hub org needs changing, and not sure how this will work out yet.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-17 00:28:08 +01:00
Justin Cormack
f4442e388b Add default sysfs settings
This uses the new Alpine sysfs.conf service to allow config of sysfs.

Default file that sets transparent huge pages to only be used on request
to fix #368

Database setting available for user configuration.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-12 14:13:40 +01:00
Justin Cormack
9f41d17f89 Add jq to base
Several people have asked for this for processing JSON config
data, and about to do some myself and parsing with a regex is
not so nice.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-04 11:11:53 +02:00
Natanael Copa
66ba586cac Move built kernel to arch specific subdir
We want be able to build kernels for different archs without that they
clash with each other so we but the generated files into an $arch subdir.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-25 17:18:02 +02:00
Natanael Copa
01ba161477 Use upstream gummiboot binary and build EFI with alpine
Alpine 3.4 got gummiboot backported so we use that to build the EFI.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-21 14:42:05 +02:00
Justin Cormack
693e8be4a9 Remove llmnrd
Not really required as ports exposed on localhost. If users
want to connext to VM ports they can use the IP address, as
this is discouraged. llmnr names are very slow to access,
so not nice to use.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 14:32:14 +01:00
Justin Cormack
8a177d59f8 Merge pull request #284 from nathanleclaire/azure
Add support for Azure (VHD) build to Moby
2016-07-19 22:44:01 +01:00
Justin Cormack
99c2a09403 Remove dnsfix
This was there to workaround an issue with vmnet, not applicable now.
A user reported that they were getting unexpected 8.8.8.8 addresses
and it could possible be applied erroneously under some circumstances.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-07-19 10:04:09 +01:00
Nathan LeClaire
70cb4f82a2 Add Azure provider support
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-18 16:22:21 -07:00
Nathan LeClaire
abb968c538 Add AWS build support
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-18 11:08:44 -07: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
a6e5d9fdfa clean up trailing slashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 16:23:33 +01:00
Justin Cormack
220f3df37a 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
Ian Campbell
0c471bdc09 Simple build system for ocaml-based iptables
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-12 10:26:39 +01:00
Justin Cormack
7fb90b6af5 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
0c9603708c remove syslog fix, as now upstream
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-11 14:31:25 +01:00
Justin Cormack
51563eb677 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
44d68b268a 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
Ian Campbell
120f9d916c Merge pull request #241 from ijc25/logging-over-vsock
mac: Redirect syslog over vsock
2016-07-05 17:54:30 +01:00
Ian Campbell
7378c6e282 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
Ian Campbell
7dd7b0c0da vsudd: Forward syslog from /var/run/syslog.vsock to vsock 514
This is mac only (for now) and will not actually do anything until syslogd is
told to forward to /var/run/syslog.vsock.

syslog uses a SOCK_DGRAM connection to /var/run/syslog.vsock, however vsock
today is SOCK_STREAM only, so we need to "packetise" the stream. Do so by
writing the datagram length as a (little-endian) uint32 before the data itself.
This is slightly modelled after rfc6587 (syslog over TCP) but simplified by
using a 4-byte binary value rather than ASCII digits.

Arrange for vsudd to start before the logger so it is ready and waiting.

Note that the code in vsyslog.go needs to be rather careful about its own
logging, in particular logging forwarding failures over syslog seems likely to
make things worse. Instead this file logs to the console when errors occur,
this will be captured by the logging of the hyperkit VM console.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-04 14:47:02 +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
Justin Cormack
72023a505a add openssl for wget helper
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 17:26:29 +01:00
Justin Cormack
d7e5c199b1 remove syslog restart from setup-disk
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 13:44:06 +01:00
Justin Cormack
64d4ec65bb make runlevels closer to standard alpine
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-10 18:43:16 +01:00
Justin Cormack
57cf060668 start hwclock in boot runlevel
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-10 11:10:28 +01:00
Justin Cormack
0ffc54bfaa Revert "Revert "Merge pull request #184 from justincormack/repositories" (#195)"
This reverts commit 34d44e20d4.
2016-06-10 10:52:13 +01:00
David Sheets
7219b18964 Revert "Merge pull request #184 from justincormack/repositories" (#195)
This reverts commit ae1e96055c, reversing
changes made to 99dfa4e4c1.
2016-06-10 10:28:07 +01:00
Justin Cormack
50efe5966e start klogd in same runlevel as syslogd
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-09 11:38:24 +01:00