The Docker CLI
Go to file
Aleksa Sarai ee7a956c54
client: check tty before creating exec job
This is necessary in order to avoid execId leaks in the case where a
`docker exec -it` is run without a terminal available for the client.
You can reproduce this issue by running the following command many
times.

  % nohup docker exec -it some_container true

The container `some_container` will have execIDs that will never
normally be cleaned up (because the client died before they were
started).

In addition, this patch adds a docker-inspect step to ensure that we
give "container does not exist" errors consistently.

Signed-off-by: Valentin Rothberg <vrothberg@suse.com>
Signed-off-by: Aleksa Sarai <asarai@suse.de>
2017-05-09 21:07:40 +10:00
cli client: check tty before creating exec job 2017-05-09 21:07:40 +10:00
cmd/docker Add interfacer linter 2017-05-08 15:57:50 -04:00
dockerfiles Run steps in parallel. 2017-05-08 15:57:56 -04:00
vendor Fix vendor. 2017-05-08 16:15:54 -04:00
.dockerignore make go build and docker build operations faster 2017-04-27 15:06:57 -07:00
.gitignore make go build and docker build operations faster 2017-04-27 15:06:57 -07:00
LICENSE Add project files 2017-04-17 17:49:33 -04:00
MAINTAINERS Add project files 2017-04-17 17:49:33 -04:00
Makefile Merge pull request #41 from seemethere/fix_dev_null_device 2017-05-09 09:13:21 +02:00
NOTICE Add project files 2017-04-17 17:49:33 -04:00
README.md rm client and vendor it instead 2017-05-08 10:33:56 -07:00
circle.yml Fix vendor. 2017-05-08 16:15:54 -04:00
docker.Makefile define targets as “phony”, add comments, and mount docker.sock in dev target 2017-05-03 11:14:06 -07:00
gometalinter.json Add line length linter 2017-05-08 15:57:56 -04:00
vendor.conf Add `docker build --iidfile=FILE` 2017-05-05 12:12:36 -07:00

README.md

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.
  • /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.