command: docker stack ls
aliases: docker stack ls, docker stack list
short: List stacks
long: |-
    Lists the stacks.

    > [!NOTE]
    > 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](/engine/swarm/) in the
    > documentation.
usage: docker stack ls [OPTIONS]
pname: docker stack
plink: docker_stack.yaml
options:
    - option: format
      value_type: string
      description: |-
        Format output using a custom template:
        'table':            Print output in table format with column headers (default)
        'table TEMPLATE':   Print output in table format using the given Go template
        'json':             Print in JSON format
        'TEMPLATE':         Print output using the given Go template.
        Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates
      details_url: '#format'
      deprecated: false
      hidden: false
      experimental: false
      experimentalcli: false
      kubernetes: false
      swarm: false
inherited_options:
    - option: help
      value_type: bool
      default_value: "false"
      description: Print usage
      deprecated: false
      hidden: true
      experimental: false
      experimentalcli: false
      kubernetes: false
      swarm: false
    - option: orchestrator
      value_type: string
      description: Orchestrator to use (swarm|all)
      deprecated: true
      hidden: true
      experimental: false
      experimentalcli: false
      kubernetes: false
      swarm: false
examples: |-
    The following command shows all stacks and some additional information:

    ```console
    $ docker stack ls

    ID                 SERVICES            ORCHESTRATOR
    myapp              2                   Kubernetes
    vossibility-stack  6                   Swarm
    ```

    ### Format the output (--format) {#format}

    The formatting option (`--format`) pretty-prints stacks using a Go template.

    Valid placeholders for the Go template are listed below:

    | Placeholder     | Description        |
    |-----------------|--------------------|
    | `.Name`         | Stack name         |
    | `.Services`     | Number of services |
    | `.Orchestrator` | Orchestrator name  |
    | `.Namespace`    | Namespace          |

    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
    `Name` and `Services` entries separated by a colon (`:`) for all stacks:

    ```console
    $ docker stack ls --format "{{.Name}}: {{.Services}}"
    web-server: 1
    web-cache: 4
    ```

    To list all stacks in JSON format, use the `json` directive:

    ```console
    $ docker stack ls --format json
    {"Name":"myapp","Namespace":"","Orchestrator":"Swarm","Services":"3"}
    ```
deprecated: false
hidden: false
min_api_version: "1.25"
experimental: false
experimentalcli: false
kubernetes: false
swarm: true

