Commit Graph

147 Commits

Author SHA1 Message Date
Harald Albers 966ebe7b62 Bash completion for `docker network`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:12 +00:00
Harald Albers 26294f39f2 Refactor bash completion: pull out subcommand parsing
`docker network` is the second command with subcommands.

This refactoring pulls out parsing and processing of subcommands
from `docker volume` completion and thus makes its logic available
for other commands.

Also enables `__docker_pos_first_nonflag` for subcommand completion.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:12 +00:00
Viktor Stanchev dd91c424fa fix fish completion; wrong image names bug; close #16672
Signed-off-by: Viktor Stanchev <me@viktorstanchev.com>
2017-06-02 00:07:12 +00:00
Steve Durrheimer cbc9cbde21 Add zsh completion for 'docker network'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2017-06-02 00:07:12 +00:00
Steve Durrheimer 64c577bdd8 Add zsh completion for '--cluster-store-opt'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2017-06-02 00:07:12 +00:00
Harald Albers 4fcea52287 Add bash completion for `--cluster-store-opt`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:12 +00:00
Jessica Frazelle 0afb6cc862 change flag name to better follow the other flags that start with disable;
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2017-06-02 00:07:11 +00:00
Steve Durrheimer 53089d74fe Add zsh completion for 'docker daemon --no-legacy-registry'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2017-06-02 00:07:11 +00:00
Antonio Murdaca cbd33a2b27 Fix man and commandline docs
- missing help option in `docs/reference/commandline/*.md` (some files
  have it, the other I fixed didn't)
- missing `[OPTIONS]` in Usage description
- missing options
- formatting
- start/stop idempotence

Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
2017-06-02 00:07:11 +00:00
Harald Albers 1b1a0a0835 Add bash completion for `--no-legacy-registry`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:10 +00:00
Steve Durrheimer 88ef8f31aa Add zsh completion for --cluster-store and --cluster-advertise options for docker daemon
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2017-06-02 00:07:10 +00:00
Harald Albers 3fce5e1084 bash completion for `docker daemon --cluster-*`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:10 +00:00
qhuang d5b1d055b8 Add support for memory reservation
Signed-off-by: qhuang <qhuang@10.0.2.15>
2017-06-02 00:07:10 +00:00
Lei Jitang 9ec9856889 Docs: correct the description of docker cp
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2017-06-02 00:07:10 +00:00
Steve Durrheimer 65c5e2b950 Catchup missing changes for the zsh completion
- felixr/docker-zsh-completion@6ae6279: Add --privileged flag to docker exec command in zsh completion
 - felixr/docker-zsh-completion@259ea00: Remove -h help flag from subcommands in zsh completion
 - felixr/docker-zsh-completion@5f77b29: Add docker ps --format flag to zsh completion
 - felixr/docker-zsh-completion@a1f39f8: Add --config flag to zsh completion
 - felixr/docker-zsh-completion@6a503b4: Filter zsh completions of inspect command by --type
 - felixr/docker-zsh-completion@d286ccd: Add --ulimit flag to build command to zsh completion
 - felixr/docker-zsh-completion@bdc1261: Add support for kernel memory limit in zsh completion
 - felixr/docker-zsh-completion@c8ce164: Add docker volume command and subcommands in zsh completion
 - felixr/docker-zsh-completion@7f996bf: Add docker daemon command to zsh completion
 - felixr/docker-zsh-completion@4ccd292: Be more generic when parsing "docker ps" output.
 - felixr/docker-zsh-completion@cd0f1b9: Fix container completion by name
 - felixr/docker-zsh-completion@8bf9041: Use "docker ps --no-trunc" to build completion.
 - felixr/docker-zsh-completion@b721bbb: Only keep the last name for a running/stopped container
 - felixr/docker-zsh-completion@6791b3e: Fix "docker run --stop-signal" completion
 - felixr/docker-zsh-completion@961f628: Try some heuristics to determine the canonical container name

Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2017-06-02 00:07:10 +00:00
Harald Albers 7310f4a2bd Bash completion: avoid 'compopt: command not found' errors on Mac OS
The shell builtin `compopt` is not available on the outdated bash
version 3.2.57 that ships with Mac OS.
It is used in Docker's bash completion to suppress trailing spaces
in advanced completions of hash map options, e.g. `--log-opt`.

If `compopt` is not available, the new behavior is to do nothing,
i.e. the user will have to delete the additional space.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:10 +00:00
Harald Albers eb684d2bad bash completion: use generic `tag` log driver option
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:09 +00:00
Sally O'Malley fac1158156 docker restarts running OR stopped containers, docs edit rm "running"
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2017-06-02 00:07:09 +00:00
Tim Hockin 8bdf17d8fe Add support for DNS options
Signed-off-by: Tim Hockin <thockin@google.com>
2017-06-02 00:07:09 +00:00
Harald Albers f5eb62c180 Fix bash completion when extglob is not set
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:09 +00:00
David Calavera 36a36bdaf5 Signal to stop a container.
Allow to set the signal to stop a container in `docker run`:
- Use `--stop-signal` with docker-run to set the default signal the container will use to exit.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2017-06-02 00:07:08 +00:00
Samuel Karp 0d2d916b13 Add awslogs driver for Amazon CloudWatch Logs
Signed-off-by: Samuel Karp <skarp@amazon.com>
2017-06-02 00:07:08 +00:00
Harald Albers 6c98ca574f bash completion for `docker volume`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:08 +00:00
Vincent Demeester 1cf99bf127 Add docker ps --filter=… image completion
I missed that on #15919, thanks @albers

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-06-02 00:07:07 +00:00
Vincent Demeester 8387eacede Update shell completion on docker ps for ancestor
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-06-02 00:07:07 +00:00
Qiang Huang b243bbed9c Change all optional unit to [unit]
As suggested before, we should change every signal one.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2017-06-02 00:07:07 +00:00
Rory Hunter e7d0fd2b23 Make run and rmi bash completions configurable
Allow the user to configure how Docker's bash completion works for the
"events", "history", "inspect", "run", "rmi" and "save" commands through the
following environment variables:

DOCKER_COMPLETION_SHOW_IMAGE_IDS
  "none" - Show names only (default)
  "non-intermediate" - Show names and ids, but omit intermediate image IDs
  "all" - Show names and ids, including intermediate image IDs

DOCKER_COMPLETION_SHOW_TAGS
  "yes" - include tags in completion options (default)
  "no"  - don't include tags in completion options

Fixes #9474.

Signed-off-by: Rory Hunter <roryhunter2@gmail.com>
2017-06-02 00:07:06 +00:00
Qiang Huang 5731775665 Add support for kernel memory limit
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2017-06-02 00:07:06 +00:00
Harald Albers 8d6fd1542f Fix bash completion for log driver options
This option was incorrectly ported to the new `daemon` subcommand
structure.

Beside the obvious effect that completion of `docker daemon --log-opt`
did not work, this also caused completion of `docker` and `docker xxx`
to fail on macs with

> bash: words: bad array subscript

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:05 +00:00
Tim Dettrick d0fa83e285 Revert "Revert "Add docker exec run a command in privileged mode""
This reverts commit 40b71adee390e9c06471b89ed845132b4ec80177.

Original commit (for which this is effectively a rebased version) is
72a500e9e5929b038816d8bd18d462a19e571c99 and was provided by Lei Jitang
<leijitang@huawei.com>.

Signed-off-by: Tim Dettrick <t.dettrick@uq.edu.au>
2017-06-02 00:07:05 +00:00
Harald Albers cefc964f4c Add storage options to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:05 +00:00
Harald Albers 0f17194e5f Add options for the json-file logging driver to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:05 +00:00
Harald Albers a287253ec5 Update bash completion for `docker run`
Also fixed sort order of options using `sort -d`

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:05 +00:00
Harald Albers 91300d7db0 Remove -h flag from completion and daemon reference
All docker subcommands support `-h` as an alias for `--help`
unless they have `-h` aliased to something else like `docker run`,
which uses `-h` for `--hostname`.

`-h` is not included in the help messages of the commands, though.

It ist visible in
* reference: only in `docker daemon` reference,
  see output of `grep -Rse --help=false docs`
* man pages: only in `docker` man page
  see output of `grep -RF '**-h**' man`

For consistency reasons, this commit removes `-h` as an alias for
`--help` from the reference page, man page and the bash completion.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:05 +00:00
Harald Albers 9fafadf6fc Add missing storage drivers to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:05 +00:00
Harald Albers c3bbab15c2 Add `docker ps --format` to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:05 +00:00
Harald Albers f3f1340aa0 Add `--config` to bash completion
The custom configuration will also be used in docker invocations made
by the completion script itself, just like `-H`.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:04 +00:00
Harald Albers 57062f2a44 Filter completions of `docker inspect` by `--type`
Completion now filters the images and containers by given
`--type`.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:04 +00:00
Harald Albers 3de0756fd1 Fix completion of commands after a global option with arg
Without this fix, `docker -l info ` would not complete the commands.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:04 +00:00
Harald Albers 35e75dc3e7 Add completion of global options to `docker daemon`
It's a bit confusing: the "global options" are valid as "global options"
for all client commands (i.e. all but daemon).
Example: `docker --log-level info run`

For `docker daemon`, these "global options" are only valid as "command
options".
Example: `docker daemon --log-level info`

As command completion cannot tell which command the user is going to
type next, completion for the daemon command has to allow illegal
syntaxes like
`docker --log-level info daemon --log-level info`

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:04 +00:00
Harald Albers 48ad74a01c Add `docker daemon` to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
Signed-off-by: Tibor Vass <tibor@docker.com>
2017-06-02 00:07:04 +00:00
Dieter Reuter 371f131e2a Fix file mode for docker bash completion
A bash completion file shouldn't have a executable bit set.
Just change file mode to 644 (instead of 755).

Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2017-06-02 00:07:03 +00:00
Harald Albers 4f3ba975fb Complete all known driver options if no log driver was specified
Without this fix, `docker --log-opt ` would not complete anything
because the completions were driver specific.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:03 +00:00
Harald Albers 763ba5078d Fix problem with = in completion of docker global options
Without this fix, `docker --log-driver fluentd --log-opt fluentd-tag=b`
would complete `b` to `build`.
Completion of the commands has to be nailed to __docker_pos_first_nonflag

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:03 +00:00
Lei f793c1b50c Add ulimit to docker build.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2017-06-02 00:07:02 +00:00
Harald Albers ad1ca76a0b Second level completions for --log-opt
Advanced completion for some log driver options:
gelf-address, syslog-address, syslog-facility.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:02 +00:00
Harald Albers f7eb7787da Completion: Add support for '=' in arguments to __docker_pos_first_nonflag
This solves several problems that arise from the special treatment of
"=" in Bash.
The fix was required as some log drivers have options in a key=value
form. It also addresses the --option=value and the negated boolean syntax
(--boolean=false).

Note that this is not a general fix for these problems, it is limited to
the __docker_pos_first_nonflag function.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:02 +00:00
Harald Albers d3098f54ab Driver-specific completions for --log-opt
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:02 +00:00
Harald Albers e00293bec8 Add missing log drivers to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:07:02 +00:00
Vincent Bernat c15fdb2435 zsh: update zsh completion for docker command
zsh completion is updated with the content of
felixr/docker-zsh-completion.

 - felixr/docker-zsh-completion@a93e1cb7bd Fix completion of repositories with tags
 - felixr/docker-zsh-completion@590ea70596 Respect provided `--host` flag when invoking docker
 - felixr/docker-zsh-completion@6c557babaa Several cosmetic improvements
 - felixr/docker-zsh-completion@5b63cc591a Update completion for `inspect`
 - felixr/docker-zsh-completion@b7d8f2f7cc Order completions alphabetically
 - felixr/docker-zsh-completion@63f6a06224 Factor completion for `build`, `create` and `run`
 - felixr/docker-zsh-completion@ade49ee47f Enforce positional arguments being last
 - felixr/docker-zsh-completion@850b6b6d95 Update completion for build/commit/export/exec/history/import
 - felixr/docker-zsh-completion@01bfd8c075 Remove completion for `insert` and duplicate of `import`
 - felixr/docker-zsh-completion@c64a1d730a Update completion for `stats` to add `--no-stream` flag
 - felixr/docker-zsh-completion@5e81d78b52 Update completion for `log` to add `--since` flag
 - felixr/docker-zsh-completion@b3c146a1a2 Update completion for `run` to add `--group-add` flag
 - felixr/docker-zsh-completion@8d4f196ad8 Don't trigger expensive completion function for flags
 - felixr/docker-zsh-completion@bd5aaa124d Add completion for `--help` everywhere
 - felixr/docker-zsh-completion@3a67a0e8c4 Return appropriate status code on completion
 - felixr/docker-zsh-completion@4dfcb450ea Add Steve as a regular contributor.
 - felixr/docker-zsh-completion@996a1c6def Add completion for top-level flags
 - felixr/docker-zsh-completion@b6df75905f Ensure short/long option are not allowed twice
 - felixr/docker-zsh-completion@75b6a500a0 Complete repositories with tags only on repository match
 - felixr/docker-zsh-completion@5e6292135f Factorize completion of images/repositories/tags
 - felixr/docker-zsh-completion@1c504eb677 Handle repositories with ":"
 - felixr/docker-zsh-completion@0a05bf818b Update completion for `pause' and `unpause'
 - felixr/docker-zsh-completion@b3a63253e2 Containers name can include Swarm host

In summary:

 - Swarm support
 - Handling repositories with ":"
 - Rework how completion of images/repositories/tags work:
    - felixr/docker-zsh-completion@5e6292135f
    - felixr/docker-zsh-completion@75b6a500a0
    - felixr/docker-zsh-completion@a93e1cb7bd

The remaining changes are here to sync changes done in Docker repository
(mostly from PR #14074 and #14555, by @sdurrheimer). With some minor changes:

 - boolean flags don't complete their arguments (true/false)
 - reuse of `--host` argument is done with `$opt_arg` to avoid parsing
   error
 - build/create/run common options are factorized out
 - `--help` flag is handled differently
 - `pause` and `unpause` accepts several containers as far as I know, so
   the change is reverted
 - some more, but difficult to notice (more completion for some flags I think)

Some labels are reverted, mostly because I did the merge by copy/pasting
new options instead of modifying existing options.

This commit is partial. The way the `--help` option is handled triggered
a major change due to the way things are quoted. Those changes were
partially and programmaticaly reverted in this commit only to minimize
the changes to review. The next commit will restore the full changes.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2017-06-02 00:07:02 +00:00