The Docker CLI
Go to file
Ian Campbell 935d47bbe9 Ignore unknown arguments on the top-level command.
This allows passing argument to plugins, otherwise they are caught by the parse
loop, since cobra does not know about each plugin at this stage (to avoid
having to always scan for all plugins) this means that e.g. `docker plugin
--foo` would accumulate `plugin` as an arg to the `docker` command, then choke
on the unknown `--foo`.

This allows unknown global args only, unknown arguments on subcommands (e.g.
`docker ps --foo`) are still correctly caught.

Add an e2e test covering this case.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-30 13:45:26 +00:00
.github Remove myself from codeowners 😅 2019-01-10 17:32:07 +01:00
cli Integrate CLI plugins into `docker info` 2019-01-30 13:45:26 +00:00
cli-plugins Ignore unknown arguments on the top-level command. 2019-01-30 13:45:26 +00:00
cmd/docker Ignore unknown arguments on the top-level command. 2019-01-30 13:45:26 +00:00
contrib/completion Add bash completion for global `--context|-c` option 2019-01-22 22:27:01 +01:00
dockerfiles Add some simple e2e tests for executing CLI plugins 2019-01-30 13:44:05 +00:00
docs Documentation on writing a plugin 2019-01-30 13:45:26 +00:00
e2e Ignore unknown arguments on the top-level command. 2019-01-30 13:45:26 +00:00
experimental Fix link to Kubernetes blog 2018-12-29 01:39:54 +01:00
internal Extract streams helpers from command package to their own package to remove a cyclic dependency from command to internal/containerizedengine 2019-01-28 14:36:00 +01:00
kubernetes Handle version v1alpha3 2019-01-24 20:24:45 +01:00
man Introduce functional arguments to NewDockerCli for a more stable API. 2019-01-28 14:52:58 +01:00
opts support --mount type=bind,bind-nonrecursive,... 2019-01-10 12:07:46 +09:00
scripts Add some simple e2e tests for executing CLI plugins 2019-01-30 13:44:05 +00:00
service/logs Update tests to use gotest.tools 👼 2018-06-08 18:24:26 +02:00
templates Update tests to use gotest.tools 👼 2018-06-08 18:24:26 +02:00
types Remove unused helath check func 2018-10-02 20:52:34 +02:00
vendor Vendoring update for v1alpha3 2019-01-24 11:43:52 +01:00
.dockerignore make go build and docker build operations faster 2017-04-27 15:06:57 -07:00
.gitignore Update gitignore 2017-09-27 16:45:35 +02:00
.mailmap Update AUTHORS 2019-01-08 00:01:36 +01:00
AUTHORS Update AUTHORS 2019-01-08 00:01:36 +01:00
CONTRIBUTING.md Add Contribution guidelines 2017-07-28 11:33:19 -07:00
Jenkinsfile Add a Jenkinsfile 2017-08-16 10:46:43 -04:00
LICENSE Add project files 2017-04-17 17:49:33 -04:00
MAINTAINERS Remove outdated completion reviewers file 2018-08-01 15:08:36 +02:00
Makefile Add basic framework for writing a CLI plugin 2019-01-29 11:26:40 +00:00
NOTICE Add project files 2017-04-17 17:49:33 -04:00
README.md Add jenkins build status to readme 2017-09-15 15:08:28 +02:00
TESTING.md Update TESTING.md to replace testify by gotest.tools 2018-07-02 09:24:28 +02:00
VERSION Bump version to 19.03.0-dev 2018-09-11 13:06:49 +02:00
appveyor.yml Bump Golang 1.11.5 (CVE-2019-6486) 2019-01-24 02:50:10 +01:00
circle.yml Do not patch Dockerfiles in CI 2018-11-29 10:44:14 +01:00
codecov.yml Fix PR comments 2018-01-03 10:23:32 +01:00
docker.Makefile Add basic framework for writing a CLI plugin 2019-01-29 11:26:40 +00:00
gometalinter.json Add support for kubernetes in docker cli 2017-12-26 11:22:32 +01:00
poule.yml Add github templates and initial poule configuration 2017-05-09 16:57:46 +02:00
vendor.conf Vendoring update for v1alpha3 2019-01-24 11:43:52 +01:00

README.md

build status Build Status

docker/cli

This repository is the home of the cli used in the Docker CE and Docker EE products.

Development

docker/cli is developed using Docker.

Build a linux binary:

$ make -f docker.Makefile binary

Build binaries for all supported platforms:

$ make -f docker.Makefile cross

Run all linting:

$ make -f docker.Makefile lint

List all the available targets:

$ make help

In-container development environment

Start an interactive development environment:

$ make -f docker.Makefile shell

In the development environment you can run many tasks, including build binaries:

$ make binary

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.