2015-06-21 16:41:38 -04:00
|
|
|
# stop
|
|
|
|
|
2023-01-06 13:04:05 -05:00
|
|
|
<!---MARKER_GEN_START-->
|
2016-07-07 14:43:18 -04:00
|
|
|
Stop one or more running containers
|
2015-06-21 16:41:38 -04:00
|
|
|
|
2023-01-06 13:04:05 -05:00
|
|
|
### Aliases
|
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
|
|
|
`docker container stop`, `docker stop`
|
|
|
|
|
|
|
|
### Options
|
|
|
|
|
2024-09-27 10:26:33 -04:00
|
|
|
| Name | Type | Default | Description |
|
|
|
|
|:------------------------------------------|:---------|:--------|:---------------------------------------------|
|
|
|
|
| [`-s`](#signal), [`--signal`](#signal) | `string` | | Signal to send to the container |
|
|
|
|
| [`-t`](#timeout), [`--timeout`](#timeout) | `int` | `0` | Seconds to wait before killing the container |
|
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
|
|
|
|
|
2015-06-21 16:41:38 -04:00
|
|
|
The main process inside the container will receive `SIGTERM`, and after a grace
|
2021-04-03 17:13:01 -04:00
|
|
|
period, `SIGKILL`. The first signal can be changed with the `STOPSIGNAL`
|
|
|
|
instruction in the container's Dockerfile, or the `--stop-signal` option to
|
2024-09-26 16:41:44 -04:00
|
|
|
`docker run` and `docker create`.
|
2017-02-07 18:42:48 -05:00
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
```console
|
2017-02-07 18:42:48 -05:00
|
|
|
$ docker stop my_container
|
|
|
|
```
|
2024-09-26 16:41:44 -04:00
|
|
|
|
|
|
|
### <a name="signal"></a> Stop container with signal (-s, --signal)
|
|
|
|
|
|
|
|
The `--signal` flag sends the system call signal to the container to exit.
|
|
|
|
This signal can be a signal name in the format `SIG<NAME>`, for instance
|
|
|
|
`SIGKILL`, or an unsigned number that matches a position in the kernel's
|
|
|
|
syscall table, for instance `9`. Refer to [signal(7)](https://man7.org/linux/man-pages/man7/signal.7.html)
|
|
|
|
for available signals.
|
|
|
|
|
|
|
|
The default signal to use is defined by the image's [`StopSignal`](https://github.com/opencontainers/image-spec/blob/v1.1.0/config.md),
|
|
|
|
which can be set through the [`STOPSIGNAL`](https://docs.docker.com/reference/dockerfile/#stopsignal)
|
|
|
|
Dockerfile instruction when building the image, or configured using the
|
|
|
|
[`--stop-signal`](https://docs.docker.com/reference/cli/docker/container/run/#stop-signal)
|
|
|
|
option when creating the container. If no signal is configured for the
|
|
|
|
container, `SIGTERM` is used as default.
|
|
|
|
|
2024-09-27 10:26:33 -04:00
|
|
|
### <a name="timeout"></a> Stop container with timeout (-t, --timeout)
|
2024-09-26 16:41:44 -04:00
|
|
|
|
2024-09-27 10:26:33 -04:00
|
|
|
The `--timeout` flag sets the number of seconds to wait for the container
|
2024-09-26 16:41:44 -04:00
|
|
|
to stop after sending the pre-defined (see [`--signal`]{#signal)) system call signal.
|
|
|
|
If the container does not exit after the timeout elapses, it's forcibly killed
|
|
|
|
with a `SIGKILL` signal.
|
|
|
|
|
2024-09-27 10:26:33 -04:00
|
|
|
If you set `--timeout` to `-1`, no timeout is applied, and the daemon
|
2024-09-26 16:41:44 -04:00
|
|
|
waits indefinitely for the container to exit.
|
|
|
|
|
|
|
|
The default timeout can be specified using the [`--stop-timeout`](https://docs.docker.com/reference/cli/docker/container/run/#stop-timeout)
|
|
|
|
option when creating the container. If no default is configured for the container,
|
|
|
|
the Daemon determines the default, and is 10 seconds for Linux containers, and
|
|
|
|
30 seconds for Windows containers.
|