Files
docker-cli/components/cli
Ian Campbell d20f087fd4 Add docker build --iidfile=FILE
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
2017-05-05 12:12:36 -07:00
..
2017-05-05 12:12:36 -07:00
2017-05-02 17:57:46 -04:00
2017-05-05 12:12:36 -07:00
2017-05-02 17:57:46 -04:00
2017-04-17 17:49:33 -04:00
2017-04-17 17:49:33 -04:00
2017-04-17 17:49:33 -04:00
2017-05-03 13:28:06 -07:00
2017-05-05 12:12:36 -07:00

build status

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.