mirror of
https://github.com/docker/compose.git
synced 2026-09-23 05:54:32 +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 <glours@users.noreply.github.com>
93 lines
2.9 KiB
YAML
93 lines
2.9 KiB
YAML
command: docker compose down
|
||
short: Stop and remove containers, networks
|
||
long: |-
|
||
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
|
||
```
|
||
usage: docker compose down [OPTIONS] [SERVICES]
|
||
pname: docker compose
|
||
plink: docker_compose.yaml
|
||
options:
|
||
- option: remove-orphans
|
||
value_type: bool
|
||
default_value: "false"
|
||
description: Remove containers for services not defined in the Compose file
|
||
deprecated: false
|
||
hidden: false
|
||
experimental: false
|
||
experimentalcli: false
|
||
kubernetes: false
|
||
swarm: false
|
||
- option: rmi
|
||
value_type: string
|
||
description: |
|
||
Remove images used by services. "local" remove only images that don't have a custom tag ("local"|"all")
|
||
deprecated: false
|
||
hidden: false
|
||
experimental: false
|
||
experimentalcli: false
|
||
kubernetes: false
|
||
swarm: false
|
||
- option: timeout
|
||
shorthand: t
|
||
value_type: int
|
||
default_value: "0"
|
||
description: Specify a shutdown timeout in seconds
|
||
deprecated: false
|
||
hidden: false
|
||
experimental: false
|
||
experimentalcli: false
|
||
kubernetes: false
|
||
swarm: false
|
||
- option: volumes
|
||
shorthand: v
|
||
value_type: bool
|
||
default_value: "false"
|
||
description: |
|
||
Remove named volumes declared in the "volumes" section of the Compose file and anonymous volumes attached to containers
|
||
deprecated: false
|
||
hidden: false
|
||
experimental: false
|
||
experimentalcli: false
|
||
kubernetes: false
|
||
swarm: false
|
||
inherited_options:
|
||
- option: dry-run
|
||
value_type: bool
|
||
default_value: "false"
|
||
description: Execute command in dry run mode
|
||
deprecated: false
|
||
hidden: false
|
||
experimental: false
|
||
experimentalcli: false
|
||
kubernetes: false
|
||
swarm: false
|
||
deprecated: false
|
||
hidden: false
|
||
experimental: false
|
||
experimentalcli: false
|
||
kubernetes: false
|
||
swarm: false
|
||
|