1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/project/make
Josh Hawn 8936789919 Make FROM scratch a special cased 'no-base' spec
There has been a lot of discussion (issues 4242 and 5262) about making
`FROM scratch` either a special case or making `FROM` optional, implying
starting from an empty file system.

This patch makes the build command `FROM scratch` special cased from now on
and if used does not pull/set the the initial layer of the build to the ancient
image ID (511136ea..) but instead marks the build as having no base image. The
next command in the dockerfile will create an image with a parent image ID of "".
This means every image ever can now use one fewer layer!

This also makes the image name `scratch` a reserved name by the TagStore. You
will not be able to tag an image with this name from now on. If any users
currently have an image tagged as `scratch`, they will still be able to use that
image, but will not be able to tag a new image with that name.

Goodbye '511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158',
it was nice knowing you.

Fixes #4242

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-12-18 14:03:38 -08:00
..
.ensure-busybox Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
.ensure-scratch Make FROM scratch a special cased 'no-base' spec 2014-12-18 14:03:38 -08:00
.go-compile-test-dir Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
.validate Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
binary Adapt project/make.sh for Windows builds 2014-11-19 13:41:57 -08:00
cover Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
cross Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
dynbinary Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
dyntest-integration Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
dyntest-unit Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
README.md Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
test-integration Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
test-integration-cli Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
test-unit Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
tgz Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
ubuntu Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00
validate-dco Remove small patch exception checking in hack/make/validate-dco 2014-12-17 10:02:36 +10:00
validate-gofmt Move 'hack' to the less confusing 'project' 2014-11-09 21:50:28 +00:00

This directory holds scripts called by make.sh in the parent directory.

Each script is named after the bundle it creates. They should not be called directly - instead, pass it as argument to make.sh, for example:

./hack/make.sh test
./hack/make.sh binary ubuntu

# Or to run all bundles:
./hack/make.sh

To add a bundle:

  • Create a shell-compatible file here
  • Add it to $DEFAULT_BUNDLES in make.sh