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
ENTRYPOINT
andCMD
in 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.