Introducción
Docker es una plataforma de contenedorización que le permite crear, probar e implementar rápidamente aplicaciones como contenedores portátiles e independientes que pueden ejecutarse prácticamente en cualquier lugar. Es el estándar de facto para la implementación de contenedores y es una herramienta esencial para los ingenieros de DevOps y su canalización continua de integración y entrega.
En este artículo, explicaremos cómo enumerar los contenedores de Docker.
Lista de contenedores de Docker
El comando de Docker para enumerar contenedores tiene la siguiente forma:
docker container ls [options]
Las versiones anteriores de Docker anteriores a la 1.13 usan un comando diferente para enumerar los contenedores:
docker ps [options]
El comando anterior todavía se admite en las versiones más recientes de Docker, donde el ps
es un alias de container ls
Para enumerar el contenedor en ejecución, ejecute el docker container ls
sin opciones:
docker container ls
La salida se verá así:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
g25t256ef623 postgres "docker-entrypoint.s…" 1 hours ago Up 2 hours 5432/tcp pg
2352h423454g redis "docker-entrypoint.s…" 2 hours ago Up 4 hours 6379/tcp cache
12g5g514454f nginx "nginx -g 'daemon of…" 1 hours ago Up 2 hours 80/tcp web
Cada fila de la salida incluye las siguientes columnas:
Container ID
: una cadena alfanumérica única que identifica cada contenedor.Image
: la imagen de Docker utilizada para crear el contenedor.Command
: el comando que se ejecuta cuando se inicia el contenedor.Created
: la hora de creación del contenedor.Status
: el estado del contenedor.Ports
: los puertos publicados del contenedor.Name
: el nombre del contenedor.
Si no hay contenedores en ejecución, solo se muestra la fila de encabezado.
La -a
, --all
agregada al docker container ls
imprime una lista de todos los contenedores:
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
124f134r2134 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 3 hours ago db
asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 2 hours 5432/tcp pg
3h425yu783k8 redis "docker-entrypoint.s…" 3 hours ago Up 4 hours 6379/tcp cache
013g345yh154 nginx "nginx -g 'daemon of…" 1 hours ago Up 2 hours 80/tcp web
De forma predeterminada, las columnas con una longitud superior a un límite especificado se truncan. Use la --no-trunc
para deshabilitar el truncamiento:
docker container ls --no-trunc
Para mostrar solo los ID de contenedor, pase la opción -q
, --quiet
docker container ls -q
asfbafg23g34
3h425yu783k8
013g345yh154
La --format
permite formatear la salida usando una plantilla Ir. Por ejemplo, para imprimir solo los nombres y el estado de los contenedores, incluido el encabezado, debe hacer:
docker container ls --format 'table {{.Names}}\t{{.Status}}'
NAMES STATUS
pg Up 1 hours
cache Up 3 hours
web Up 1 hours
Utilice la -s
, --size
para mostrar los tamaños de los contenedores:
docker container ls -s
Cada fila incluirá una columna denominada SIZE
que muestra el tamaño del contenedor:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 1 hours 5432/tcp pg 86B (virtual 451MB)
3h425yu783k8 redis "docker-entrypoint.s…" 3 hours ago Up 3 hours 6379/tcp cache 0B (virtual 87.1MB)
013g345yh154 nginx "nginx -g 'daemon of…" 1 hours ago Up 1 hours 80/tcp web 3B (virtual 216MB)
La --last
, -n
indica al comando que muestre los últimos n
contenedores creados, incluidos todos los estados. Por ejemplo, para ver los dos últimos contenedores creados, debe ejecutar:
docker container ls -n 2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
245h5453f355 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 2 hours ago db
asfbafg23g34 postgres "docker-entrypoint.s…" 1 hours ago Up 1 hours 5432/tcp pg
También hay una opción para listar solo el último contenedor creado --latest
, -l
que es lo mismo que -n 1
:
docker container ls -l
La --filter
, -f
permite filtrar la salida según ciertos criterios. Por ejemplo, para ver solo los contenedores con un estado de exited
docker container ls -f "status=exited"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
245h5453f355 couchbase "/entrypoint.sh couc…" 4 hours ago Exited (0) 2 hours ago db
Para obtener una lista de todos los filtros admitidos, consulte la documentación de Docker
Conclusión
Un contenedor de Docker es una instancia de tiempo de ejecución independiente de una imagen. Para enumerar los contenedores de Docker, use el docker container ls
o su alias docker ps
.