www.LinuxHowtos.org
DOCKER
Section: Docker User Manuals (1)Updated: Jun 2025
Index Return to Main Contents
NAME
docke-containe-ls- List containers
SYNOPSIS
docker container ls [OPTIONS]
DESCRIPTION
List the containers in the local repository. By default this shows only the running containers.Filters
Filter output based on these conditions:- ancestor=([:tag]||image@digest [la]mailto:image@digest[ra])
containers created from an image or a descendant.
- before=(|)
- expose=([/]|/[])
- exited= an exit code of
- health=(starting|healthy|unhealthy|none)
- id= a container's ID
- isolation=(default|process|hyperv) (Windows daemon only)
- i-task=(true|false)
- label= or label==
- name= a container's name
- network=(|)
- publish=([/]|/[])
- since=(|)
- status=(created|restarting|removing|running|paused|exited)
- volume=(|)
Format
The formatting option (-format) prett-prints container output using a Go template.
Valid placeholders for the Go template are listed below:
- .ID - Container ID.
- .Image - Image ID.
- .Command - Quoted command.
- .CreatedAt - Time when the container was created.
- .RunningFor - Elapsed time since the container was started.
- .Ports - Exposed ports.
- .Status - Container status.
- .Size - Container disk size.
- .Names - Container names.
- .Labels - All labels assigned to the container.
- .Label - Value of a specific label for this container.
For example '{{.Label "com.docker.swarm.cpu"}}'.
- .Mounts - Names of the volumes mounted in this container.
- .Networks - Names of the networks attached to this container.
EXAMPLES
Display all containers, including no-running
$ docker container ls-a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a87ecb4f327c ubuntu:24.04 /bin/sh-c #(nop) MA 20 minutes ago Exit 0 desperate_brattain 01946d9d34d8 busybox /bin/sh-c #(nop) MA 33 minutes ago Exit 0 thirsty_bell c1d3b0166030 acffc0358b9e /bin/sh-c yum-y up 2 weeks ago Exit 1 determined_torvalds 41d50ecd2f57 ubuntu:24.04 /bin/sh-c #(nop) MA 2 weeks ago Exit 0 drunk_pikeDisplay only IDs of all containers, including no-running
$ docker container ls-a-q a87ecb4f327c 01946d9d34d8 c1d3b0166030 41d50ecd2f57Display only IDs of all containers that have the name determined_torvalds
$ docker container ls-a-q-filter=name=determined_torvalds c1d3b0166030Display containers with their commands
$ docker container ls-format "{{.ID}}: {{.Command}}" a87ecb4f327c: /bin/sh-c #(nop) MA 01946d9d34d8: /bin/sh-c #(nop) MA c1d3b0166030: /bin/sh-c yum-y up 41d50ecd2f57: /bin/sh-c #(nop) MADisplay containers with their labels in a table
$ docker container ls-format "table {{.ID}}t{{.Labels}}" CONTAINER ID LABELS a87ecb4f327c com.docker.swarm.node=ubuntu,com.docker.swarm.storage=ssd 01946d9d34d8 c1d3b0166030 com.docker.swarm.node=debian,com.docker.swarm.cpu=6 41d50ecd2f57 com.docker.swarm.node=fedora,com.docker.swarm.cpu=3,com.docker.swarm.storage=ssdDisplay containers with their node label in a table
$ docker container ls-format 'table {{.ID}}t{{(.Label "com.docker.swarm.node")}}' CONTAINER ID NODE a87ecb4f327c worke-1 01946d9d34d8 c1d3b0166030 worke-1 41d50ecd2f57 worke-2Display containers with remot-volume mounted
$ docker container ls-filter volume=remot-volume-format "table {{.ID}}t{{.Mounts}}" CONTAINER ID MOUNTS 9c3527ed70ce remot-volumeDisplay containers with a volume mounted in /data
$ docker container ls-filter volume=/data-format "table {{.ID}}t{{.Mounts}}" CONTAINER ID MOUNTS 9c3527ed70ce remot-volumeDisplay containers that have published port of 80:
$ docker ps-filter publish=80 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fc7e477723b7 busybox "top" About a minute ago Up About a minute 0.0.0.0:3276->80/tcp admiring_roentgenDisplay containers that have exposed TCP port in the range of 800-8080:
$ docker ps-filter expose=800-8080/tcp CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9833437217a5 busybox "top" 21 seconds ago Up 19 seconds 8080/tcp dreamy_mccarthyDisplay containers in JSON format:
$ docker ps-format json {"Command":""/docke-entrypoint.…"","CreatedAt":"202-0-10 00:15:05 +0100 CET","ID":"a762a2b37a1d","Image":"nginx","Labels":"maintainer=NGINX Docker Maintainers u003cdocke-maint@nginx.comu003e","LocalVolumes":"0","Mounts":"","Names":"boring_keldysh","Networks":"bridge","Ports":"80/tcp","RunningFor":"4 seconds ago","Size":"0B","State":"running","Status":"Up 3 seconds"}
OPTIONS
-a, -all[=false] Show all containers (default shows just running)
-f, -filter=
Filter output based on conditions provided
-format=""
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
-n, -last-1
Show n last created containers (includes all states)
-l, -latest[=false]
Show the latest created container (includes all states)
-n-trunc[=false]
Don't truncate output
-q, -quiet[=false]
Only display container IDs
-s, -size[=false]
Display total file sizes
SEE ALSO
docke-container(1)
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- Filters
- Format
- EXAMPLES
- Display all containers, including non-running
- Display only IDs of all containers, including non-running
- Display only IDs of all containers that have the name determined_torvalds
- Display containers with their commands
- Display containers with their labels in a table
- Display containers with their node label in a table
- Display containers with remote-volume mounted
- Display containers with a volume mounted in /data
- Display containers that have published port of 80:
- Display containers that have exposed TCP port in the range of 8000-8080:
- Display containers in JSON format:
- OPTIONS
- SEE ALSO