mirror of
https://github.com/docker/compose.git
synced 2026-10-12 02:13:08 +00:00
- compose_down.md: note that retained pre_start hook containers (those kept after a hook failure for post-mortem) are automatically removed by compose down, with the label filter to list them beforehand. - compose_up.md: note the retention behavior on pre_start hook failure, how to inspect the retained container, and that it is cleaned up on the next compose up or compose down. Signed-off-by: Guillaume Lours <[email protected]>
70 lines
3.2 KiB
Markdown
70 lines
3.2 KiB
Markdown
# docker compose down
|
||
|
||
<!---MARKER_GEN_START-->
|
||
Stops containers and removes containers, networks, volumes, and images created by `up`.
|
||
|
||
By default, the only things removed are:
|
||
|
||
- Containers for services defined in the Compose file.
|
||
- Networks defined in the networks section of the Compose file.
|
||
- The default network, if one is used.
|
||
|
||
Networks and volumes defined as external are never removed.
|
||
|
||
Anonymous volumes are not removed by default. However, as they don’t have a stable name, they are not automatically
|
||
mounted by a subsequent `up`. For data that needs to persist between updates, use explicit paths as bind mounts or
|
||
named volumes.
|
||
|
||
### Pre-start hook containers
|
||
|
||
When a `pre_start` lifecycle hook fails, Compose retains its container for post-mortem inspection instead of removing
|
||
it immediately. `compose down` automatically removes these retained hook containers as part of teardown, so they do
|
||
not accumulate over time.
|
||
|
||
To list retained hook containers before running `down`:
|
||
|
||
```console
|
||
$ docker ps -a --filter label=com.docker.compose.hook=pre_start
|
||
```
|
||
|
||
### Options
|
||
|
||
| Name | Type | Default | Description |
|
||
|:-------------------|:---------|:--------|:------------------------------------------------------------------------------------------------------------------------|
|
||
| `--dry-run` | `bool` | | Execute command in dry run mode |
|
||
| `--remove-orphans` | `bool` | | Remove containers for services not defined in the Compose file |
|
||
| `--rmi` | `string` | | Remove images used by services. "local" remove only images that don't have a custom tag ("local"\|"all") |
|
||
| `-t`, `--timeout` | `int` | `0` | Specify a shutdown timeout in seconds |
|
||
| `-v`, `--volumes` | `bool` | | Remove named volumes declared in the "volumes" section of the Compose file and anonymous volumes attached to containers |
|
||
|
||
|
||
<!---MARKER_GEN_END-->
|
||
|
||
## Description
|
||
|
||
Stops containers and removes containers, networks, volumes, and images created by `up`.
|
||
|
||
By default, the only things removed are:
|
||
|
||
- Containers for services defined in the Compose file.
|
||
- Networks defined in the networks section of the Compose file.
|
||
- The default network, if one is used.
|
||
|
||
Networks and volumes defined as external are never removed.
|
||
|
||
Anonymous volumes are not removed by default. However, as they don’t have a stable name, they are not automatically
|
||
mounted by a subsequent `up`. For data that needs to persist between updates, use explicit paths as bind mounts or
|
||
named volumes.
|
||
|
||
### Pre-start hook containers
|
||
|
||
When a `pre_start` lifecycle hook fails, Compose retains its container for post-mortem inspection instead of removing
|
||
it immediately. `compose down` automatically removes these retained hook containers as part of teardown, so they do
|
||
not accumulate over time.
|
||
|
||
To list retained hook containers before running `down`:
|
||
|
||
```console
|
||
$ docker ps -a --filter label=com.docker.compose.hook=pre_start
|
||
```
|