Commit Graph

137 Commits

Author SHA1 Message Date
Justin Cormack
3b26b76875 Move containers directory to alpine directory
Not using this with new tool, so leave for editions.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-13 11:10:13 +00:00
Justin Cormack
e674588a0c Explicitly build the containers we want in alpine/ directory
This will be kept for editions until the new fully containerised
version can replace it.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-04 14:47:00 +01:00
Justin Cormack
2fdf0918b3 Move kernel directory to top level
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-04 09:17:16 +01:00
Riyaz Faizullabhoy
0003deabea Revert to non-development containerd and runc until nats port is sorted out
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-02-02 11:57:28 -08:00
David Gageot
470c4b5487 Fix the bucket used to upload gce images
Signed-off-by: David Gageot <david@gageot.net>
2017-02-02 11:55:34 +01:00
Justin Cormack
b6f499dca5 Move test directory to top level
This is temporary, it should be under `containers/` just as soon
as we have a manifest setup.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-01 23:34:21 +00:00
Justin Cormack
40ce4c4673 Merge pull request #1131 from justincormack/mv-containers
Move containers directory to top level
2017-02-01 23:08:47 +00:00
Justin Cormack
364a7bb0fe Move containers directory to top level
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-01 22:56:55 +00:00
Justin Cormack
3bb08ae6d6 Replace mkinitrd.sh with a tool to convert base image to initrd
Better split between content and tools.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-01 22:32:34 +00:00
Justin Cormack
3bad70f18b Move ebpf to top level
Do not build by default, as we are not using yet.

Clean up the gitignores at the same time as they were affected.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-01 10:58:52 +00:00
Riyaz Faizullabhoy
2979ff0303 reformat tags before digests
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-01-31 09:33:06 -08:00
Justin Cormack
43f781eff1 Clean up GCE image build
In line with the others, support any file names on input.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-30 22:04:34 +00:00
Justin Cormack
5bfe0a25a1 Cleanup BIOS ISO builds
- do not require specific filenames for input
- change EFI build to use `docker run`

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-30 15:18:06 +00:00
Justin Cormack
a9c4d66b27 Split kernel files into their own image
This means the base system build and kernel build can be split
without dependencies, and just assembled later.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-29 21:07:20 +00:00
Justin Cormack
531678ae8f Rework container creation
- simplify the process by having the riddler container build the rootfs and config
- output tarred up rootfs and config.json as otherwise file ownership not preserved
- allow easy build of a collection of container tarballs with another conversion script

This makes it easy to choose which container images you want and just convert any
set to a initrd image
```
tar cf - container1.tar container2.tar | docker run -i tartar2initrd > initrd.img
```

Next stage will use a manifest to select the ones to add for each edition.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-25 22:53:28 +00:00
Justin Cormack
ae22355d44 Clean up gce image
Was missing in `make clean` and not noticed as we do not build by default.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-25 00:22:08 +00:00
Justin Cormack
906e40add4 Move ebpf to its own directory
Unlike the other images in `base` this needs parts from the
Moby build so move it for now.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-24 18:50:38 +00:00
Justin Cormack
8816680c8d Merge pull request #1086 from justincormack/new-containerd
Shift to development track containerd
2017-01-24 17:50:45 +00:00
Justin Cormack
7f1e41eb37 Shift to development track containerd
Move to the development track of `containerd` not the legacy 0.2
branch. The commands have changed a bit.

This does increase the image size as we are bundling the Docker
copy and our copy, and the new one is larger as it is growing features.
Hopefully Docker will shrink eventually. Also we may replace `ctr`
with a library.

Fix #1029

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-24 15:39:44 +00:00
Justin Cormack
f3a8e77c99 Split config database setup by platform
Add basic database setup for AWS, GCP although these are not yet used
by the setup code but will be useful later.

Currently each is gated by `mobyplatform` but this can be removed once we
construct Moby per platform, and once these are containerised so they
are not run from `openrc`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-23 18:08:26 +00:00
Riyaz Faizullabhoy
dac622a89e Merge pull request #1058 from justincormack/windowsnet
Split out windowsnet into its own package directory
2017-01-19 15:18:10 +00:00
Justin Cormack
9ba1b27664 Split out windowsnet into its own package directory
This makes it easier to containerise and split per editions configs

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 15:02:26 +00:00
Justin Cormack
7fabca00bb Remove annoying output of dd
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 14:28:48 +00:00
Justin Cormack
d316fa9597 Remove some pushes to :latest
Missed these before, noticed while making a new one.

Also a copy paste error left one shasum incorrect.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-10 17:34:24 +00:00
Justin Cormack
0f018a4f20 Merge pull request #945 from justincormack/ebpf-container
Add a development eBPF container build
2017-01-05 15:07:14 +00:00
Justin Cormack
ee7f24defd Add a development eBPF container build
See `docs/ebpf.md` for how to use. This is built by CI or you can build
manually if you customise the kernel.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-05 11:59:28 +00:00
David Gageot
969422b1ae Complete target to upload to GCE
+ Use `make gce-upload` to auth and upload
 + Use `FORCE_GSUTIL_AUTH=0 make gce-upload` to
reuse previous auth information

Signed-off-by: David Gageot <david@gageot.net>
2017-01-04 17:16:20 +01:00
David Gageot
6986b3b6d0 Change the path of GCE image
Signed-off-by: David Gageot <david@gageot.net>
2016-12-30 16:03:54 +01:00
Justin Cormack
00b3924067 Update base images to Alpine 3.5
excludes
- Go base images as not yet available
- perf which does not build with latest image

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-28 18:09:08 +00:00
David Gageot
614a363ab9 Specific init.d script for GCP
Signed-off-by: David Gageot <david@gageot.net>
2016-12-23 12:03:20 +01:00
David Gageot
d9692db9e9 Change the bucket where Moby is pushed for GCE
And make the image public

Signed-off-by: David Gageot <david@gageot.net>
2016-12-22 19:03:55 +01:00
David Gageot
6f3483c421 Update mobylinux/mkimage-gce image
Signed-off-by: David Gageot <david@gageot.net>
2016-12-22 18:44:33 +01:00
Justin Cormack
f339c70f1a Run cpio in a container
This way it runs as root so files always owned by root.

Fix #887

This is the simplest fix for 1.13, we can also use this for
creating the main system initrd, but that needs more changes
so leaving for 1.14.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-14 17:56:57 -08:00
French Ben
5845d8539c Added simple upload of the image to bucket
Signed-off-by: French Ben <frenchben@docker.com>
2016-12-14 10:18:54 -08:00
Justin Cormack
f1f2f1b222 Build a GCE image
- this is a raw 1GB filesystem image with syslinux for booting
- built with libguestfs so does not need any privileges
- need not be built on GCE
- there is a target that runs the image in qemu for local tests

Does not yet have a script to upload the image to cloud storage or create image from it.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 19:17:24 -08:00
Justin Cormack
ff48dd50a2 Rename the bios build image to mkimage-iso-bios
About to add more images so use a consistent naming scheme.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 15:53:44 -08:00
Justin Cormack
6acee5984e Use an image to pad initrd files to 4 bytes
This saves a lot of duplicated nasty Makefile code, means and generally
cleans things up.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 14:12:13 -08:00
Justin Cormack
f3e3a4029b Containerize test suite
- run test suite under containerd
- in future this should be converted to Go not shell see #860
- test suite is now in its own initrd, can be run on any platform not just qemu

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-09 17:13:16 -08:00
Justin Cormack
b8ad52d2e5 Add some missing --rm in docker run
Some of these were missing, leaving strays around.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-09 09:08:22 -08:00
Justin Cormack
2897b808bb Push a copy of the Moby base image to mobylinux/mobylinux
This will be used for ongoing security scanning.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-07 12:10:39 -08:00
Justin Cormack
e17ff361ee Split the initrd into base and containers
In future this will allow easier customisation of the containers
for each edition.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-02 18:13:45 +00:00
Justin Cormack
b6cb412309 Align compressed initrd to 4 bytes
Allows appending another initrd.

Also build initrd on tmpfs as should be a bit faster now we have to do
another copy.

Fix #618

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-02 16:05:49 +00:00
Justin Cormack
bf1c21e045 Run rngd inside a system container
- this needs an init as it does not respond to stop signals, so include tini
- needs CAP_SYS_ADMIN to write to kernel entropy estimate
- set kernel.random.write_wakeup_threshold so that rngd does not need sysctl write access
- build patches from Alpine, but statically linked
- remove rngd from base image, means we no longer need community repository

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-02 14:00:12 +00:00
Riyaz Faizullabhoy
8b7cdd41dc Use digests instead of tags where possible
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-12-01 09:39:02 -08:00
Justin Cormack
3e6301f501 Containerize binfmt_misc
- statically make containerd symlinks so rootfs can be read only
- run binfmt_misc in a containerd container
- ship arm, aarch64, ppc64le qemu static versions that always "just work" as this is supported in Linux 4.8

fix #53

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-30 12:49:37 +00:00
Justin Cormack
be12f5888f Add Moby git commit to image
Fix #345

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-24 13:09:58 +00:00
Nathan LeClaire
c5e76aa5a5 Add support for building smaller Azure VHD for development
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-11-04 17:14:33 -07:00
Justin Cormack
47124e8282 do not remove build containers
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-11 16:12:40 +01:00
Justin Cormack
588798404f Do not create latest tags for base images
As we never use these, do not create them.

Also update images where applicable.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-10 14:55:48 +01:00
Justin Cormack
652d5eddf3 Use build container id rather than tagging builds
This means that multiple builds will not conflict, so we can
remove the lock from the CI. Also quieter when no errors.

Some still left to do, only done the ones used in build and CI
initially. Some of the others will be cleaned up anyway later.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-29 20:21:17 +01:00