This is synonymous with `docker run --cidfile=FILE` and writes the digest of
the newly built image to the named file. This is intended to be used by build
systems which want to avoid tagging (perhaps because they are in CI or
otherwise want to avoid fixed names which can clash) by enabling e.g. Makefile
constructs like:
image.id: Dockerfile
docker build --iidfile=image.id .
do-some-more-stuff: image.id
do-stuff-with <image.id
Currently the only way to achieve this is to use `docker build -q` and capture
the stdout, but at the expense of losing the build output.
In non-silent mode (without `-q`) with API >= v1.29 the caller will now see a
`JSONMessage` with the `Aux` field containing a `types.BuildResult` in the
output stream for each image/layer produced during the build, with the final
one being the end product. Having all of the intermediate images might be
interesting in some cases.
In silent mode (with `-q`) there is no change, on success the only output will
be the resulting image digest as it was previosuly.
There was no wrapper to just output an Aux section without enclosing it in a
Progress, so add one here.
Added some tests to integration cli tests.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
Upstream-commit: c3648a9c94
Component: cli
docker/cli
This repository is the home of the cli used in the Docker CE and Docker EE products.
It's composed of 3 main folders
/cli- all the commands code./client- the API client, used by/cli./cmd/docker- the entrypoint of the cli, aka the main.
Development
Build locally
$ make build
$ make clean
You will need gox for this one:
$ make cross
If you don't have gox, you can use the "in-container" version of make cross, listed below.
Build inside container
$ make -f docker.Makefile build
$ make -f docker.Makefile clean
$ make -f docker.Makefile cross
In-container development environment
$ make -f docker.Makefile dev
Then you can use the build locally commands:
$ make build
$ make clean
Legal
Brought to you courtesy of our legal counsel. For more context, please see the NOTICE document in this repo.
Use and transfer of Docker may be subject to certain restrictions by the United States and other governments.
It is your responsibility to ensure that your use and/or transfer does not violate applicable laws.
For more information, please see https://www.bis.doc.gov
Licensing
docker/cli is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.