Cobra allows for aliases to be defined for a command, but only allows these
to be defined at the same level (for example, `docker image ls` as alias for
`docker image list`). Our CLI has some commands that are available both as a
top-level shorthand as well as `docker <object> <verb>` subcommands. For example,
`docker ps` is a shorthand for `docker container ps` / `docker container ls`.
This patch introduces a custom "aliases" annotation that can be used to print
all available aliases for a command. While this requires these aliases to be
defined manually, in practice the list of aliases rarely changes, so maintenance
should be minimal.
As a convention, we could consider the first command in this list to be the
canonical command, so that we can use this information to add redirects in
our documentation in future.
Before this patch:
docker images --help
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Options:
-a, --all Show all images (default hides intermediate images)
...
With this patch:
docker images --help
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Aliases:
docker image ls, docker image list, docker images
Options:
-a, --all Show all images (default hides intermediate images)
...
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2.2 KiB
title, description, keywords
| title | description | keywords |
|---|---|---|
| kill | The kill command description and usage | container, kill, signal |
kill
Usage: docker kill [OPTIONS] CONTAINER [CONTAINER...]
Kill one or more running containers
Aliases:
docker container kill, docker kill
Options:
--help Print usage
-s, --signal string Signal to send to the container
Description
The docker kill subcommand kills one or more containers. The main process
inside the container is sent SIGKILL signal (default), or the signal that is
specified with the --signal option. You can reference a container by its
ID, ID-prefix, or name.
The --signal flag sets the system call signal that is sent to the container.
This signal can be a signal name in the format SIG<NAME>, for instance SIGINT,
or an unsigned number that matches a position in the kernel's syscall table,
for instance 2.
While the default (SIGKILL) signal will terminate the container, the signal
set through --signal may be non-terminal, depending on the container's main
process. For example, the SIGHUP signal in most cases will be non-terminal,
and the container will continue running after receiving the signal.
Note
ENTRYPOINTandCMDin the shell form run as a child process of/bin/sh -c, which does not pass signals. This means that the executable is not the container’s PID 1 and does not receive Unix signals.
Examples
Send a KILL signal to a container
The following example sends the default SIGKILL signal to the container named
my_container:
$ docker kill my_container
Send a custom signal to a container (--signal)
The following example sends a SIGHUP signal to the container named
my_container:
$ docker kill --signal=SIGHUP my_container
You can specify a custom signal either by name, or number. The SIG prefix
is optional, so the following examples are equivalent:
$ docker kill --signal=SIGHUP my_container
$ docker kill --signal=HUP my_container
$ docker kill --signal=1 my_container
Refer to the signal(7)
man-page for a list of standard Linux signals.