2016-11-23 05:14:38 -05:00
# stack ls
2016-06-23 01:00:21 -04:00
2023-01-06 13:04:05 -05:00
<!-- - MARKER_GEN_START -->
2016-06-23 01:00:21 -04:00
List stacks
2016-11-27 07:38:49 -05:00
2023-01-06 13:04:05 -05:00
### Aliases
`docker stack ls` , `docker stack list`
### Options
| Name | Type | Default | Description |
|:----------------------|:---------|:--------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`--format` ](#format ) | `string` | | Format output using a custom template:< br > 'table': Print output in table format with column headers (default)< br > 'table TEMPLATE': Print output in table format using the given Go template< br > 'json': Print in JSON format< br > 'TEMPLATE': Print output using the given Go template.< br > Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates |
<!-- - MARKER_GEN_END -->
2016-06-23 01:00:21 -04:00
2017-01-27 19:47:41 -05:00
## Description
2017-02-07 18:42:48 -05:00
2016-06-23 01:00:21 -04:00
Lists the stacks.
2024-08-16 05:02:10 -04:00
> [!NOTE]
2020-04-19 11:08:37 -04:00
> This is a cluster management command, and must be executed on a swarm
> manager node. To learn about managers and workers, refer to the
> [Swarm mode section](https://docs.docker.com/engine/swarm/) in the
> documentation.
2018-12-23 06:27:52 -05:00
2017-02-07 18:42:48 -05:00
## Examples
The following command shows all stacks and some additional information:
2016-06-23 01:00:21 -04:00
2021-08-21 08:54:14 -04:00
```console
2016-06-23 01:00:21 -04:00
$ docker stack ls
2018-03-27 10:38:47 -04:00
ID SERVICES ORCHESTRATOR
myapp 2 Kubernetes
vossibility-stack 6 Swarm
2016-06-23 01:00:21 -04:00
```
2023-01-06 13:28:29 -05:00
### <a name="format"></a> Format the output (--format)
2017-03-05 13:02:03 -05:00
The formatting option (`--format`) pretty-prints stacks using a Go template.
Valid placeholders for the Go template are listed below:
2018-03-27 10:38:47 -04:00
| Placeholder | Description |
2022-03-30 08:33:44 -04:00
|-----------------|--------------------|
2018-03-27 10:38:47 -04:00
| `.Name` | Stack name |
| `.Services` | Number of services |
| `.Orchestrator` | Orchestrator name |
2018-04-09 09:11:45 -04:00
| `.Namespace` | Namespace |
2017-03-05 13:02:03 -05:00
When using the `--format` option, the `stack ls` command either outputs
the data exactly as the template declares or, when using the
`table` directive, includes column headers as well.
The following example uses a template without headers and outputs the
2020-04-19 11:23:09 -04:00
`Name` and `Services` entries separated by a colon (`:`) for all stacks:
2017-03-05 13:02:03 -05:00
2021-08-21 08:54:14 -04:00
```console
2017-03-05 13:02:03 -05:00
$ docker stack ls --format "{{.Name}}: {{.Services}}"
web-server: 1
web-cache: 4
```
2021-03-09 18:49:33 -05:00
To list all stacks in JSON format, use the `json` directive:
2022-03-30 08:33:44 -04:00
2021-03-09 18:49:33 -05:00
```console
$ docker stack ls --format json
{"Name":"myapp","Namespace":"","Orchestrator":"Swarm","Services":"3"}
```
2017-02-07 18:42:48 -05:00
## Related commands
2016-06-23 01:00:21 -04:00
* [stack deploy ](stack_deploy.md )
2016-10-13 15:03:08 -04:00
* [stack ps ](stack_ps.md )
2016-12-13 05:06:18 -05:00
* [stack rm ](stack_rm.md )
2016-11-02 05:46:02 -04:00
* [stack services ](stack_services.md )