2015-06-21 16:41:38 -04:00
|
|
|
|
# kill
|
|
|
|
|
|
2023-01-06 13:04:05 -05:00
|
|
|
|
<!---MARKER_GEN_START-->
|
2016-07-29 13:41:52 -04:00
|
|
|
|
Kill one or more running containers
|
2015-06-21 16:41:38 -04:00
|
|
|
|
|
2023-01-06 13:04:05 -05:00
|
|
|
|
### Aliases
|
|
|
|
|
|
|
|
|
|
`docker container kill`, `docker kill`
|
|
|
|
|
|
|
|
|
|
### Options
|
|
|
|
|
|
|
|
|
|
| Name | Type | Default | Description |
|
|
|
|
|
|:---------------------------------------|:---------|:--------|:--------------------------------|
|
|
|
|
|
| [`-s`](#signal), [`--signal`](#signal) | `string` | | Signal to send to the container |
|
|
|
|
|
|
cli: use custom annotation for aliases
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>
2022-06-28 04:52:25 -04:00
|
|
|
|
|
2023-01-06 13:04:05 -05:00
|
|
|
|
<!---MARKER_GEN_END-->
|
2015-06-21 16:41:38 -04:00
|
|
|
|
|
2017-02-07 18:42:48 -05:00
|
|
|
|
## Description
|
|
|
|
|
|
2017-06-29 04:18:06 -04:00
|
|
|
|
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
|
2021-08-21 07:50:05 -04:00
|
|
|
|
specified with the `--signal` option. You can reference a container by its
|
|
|
|
|
ID, ID-prefix, or name.
|
|
|
|
|
|
2021-08-11 05:00:27 -04:00
|
|
|
|
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`.
|
2021-08-21 07:50:05 -04:00
|
|
|
|
|
|
|
|
|
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.
|
2015-10-28 14:06:21 -04:00
|
|
|
|
|
2020-04-19 09:43:08 -04:00
|
|
|
|
> **Note**
|
|
|
|
|
>
|
|
|
|
|
> `ENTRYPOINT` and `CMD` in the *shell* form run as a child process of
|
2017-02-07 18:42:48 -05:00
|
|
|
|
> `/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.
|
2017-06-29 04:18:06 -04:00
|
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
|
|
|
2021-08-21 07:50:05 -04:00
|
|
|
|
### Send a KILL signal to a container
|
2017-06-29 04:18:06 -04:00
|
|
|
|
|
2021-08-21 07:50:05 -04:00
|
|
|
|
The following example sends the default `SIGKILL` signal to the container named
|
2017-06-29 04:18:06 -04:00
|
|
|
|
`my_container`:
|
|
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
|
```console
|
2017-06-29 04:18:06 -04:00
|
|
|
|
$ docker kill my_container
|
|
|
|
|
```
|
|
|
|
|
|
2023-01-06 13:28:29 -05:00
|
|
|
|
### <a name="signal"></a> Send a custom signal to a container (--signal)
|
2017-06-29 04:18:06 -04:00
|
|
|
|
|
|
|
|
|
The following example sends a `SIGHUP` signal to the container named
|
|
|
|
|
`my_container`:
|
|
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
|
```console
|
2017-06-29 04:18:06 -04:00
|
|
|
|
$ 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:
|
|
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
|
```console
|
2017-06-29 04:18:06 -04:00
|
|
|
|
$ docker kill --signal=SIGHUP my_container
|
|
|
|
|
$ docker kill --signal=HUP my_container
|
|
|
|
|
$ docker kill --signal=1 my_container
|
|
|
|
|
```
|
|
|
|
|
|
2021-10-14 18:04:36 -04:00
|
|
|
|
Refer to the [`signal(7)`](https://man7.org/linux/man-pages/man7/signal.7.html)
|
2017-06-29 04:18:06 -04:00
|
|
|
|
man-page for a list of standard Linux signals.
|