Listar contenedores en ejecución con docker compose ps
En este paso, aprenderás a listar contenedores en ejecución usando docker compose ps
. Antes de poder usar docker compose
, necesitamos instalarlo.
Primero, instalemos Docker Compose. Descargaremos la última versión estable.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Este comando descarga el binario de Docker Compose para la arquitectura de tu sistema y lo guarda en /usr/local/bin/docker-compose
.
A continuación, debemos aplicar permisos de ejecución al binario.
sudo chmod +x /usr/local/bin/docker-compose
Ahora, verifiquemos la instalación comprobando la versión.
docker-compose --version
Deberías ver la versión instalada de Docker Compose en la salida.
Para demostrar docker compose ps
, necesitamos un archivo docker-compose.yml
y algunos servicios en ejecución. Creemos un archivo docker-compose.yml
simple en tu directorio ~/project
.
nano ~/project/docker-compose.yml
Añade el siguiente contenido al archivo:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
image: alpine:latest
command: sleep infinity
Este archivo docker-compose.yml
define dos servicios: web
usando la imagen nginx
y app
usando la imagen alpine
. El servicio web
mapea el puerto 80 del host al puerto 80 del contenedor. El servicio app
ejecuta el comando sleep infinity
para mantener el contenedor en ejecución.
Guarda el archivo y sal del editor (Ctrl+X, Y, Enter).
Ahora, descarguemos las imágenes necesarias.
docker pull nginx:latest
docker pull alpine:latest
Estos comandos descargan las imágenes nginx:latest
y alpine:latest
desde Docker Hub.
A continuación, inicia los servicios definidos en el archivo docker-compose.yml
. Asegúrate de estar en el directorio ~/project
.
cd ~/project
docker-compose up -d
El comando docker-compose up -d
construye, crea, inicia y conecta los contenedores para un servicio. La bandera -d
ejecuta los contenedores en modo detached, lo que significa que se ejecutan en segundo plano.
Ahora que los contenedores están en ejecución, podemos usar docker compose ps
para listarlos.
docker-compose ps
Este comando lista los contenedores en ejecución definidos en tu archivo docker-compose.yml
. Deberías ver una salida similar a esta, mostrando los nombres de los contenedores, comandos, estado y puertos.
NAME COMMAND SERVICE STATUS PORTS
project-app-1 "sleep infinity" app running
project-web-1 "/docker-entrypoint.sh nginx -g 'daemon off;'" web running 0.0.0.0:80->80/tcp
La salida muestra que los contenedores project-app-1
y project-web-1
están en ejecución. El NAME
típicamente es el nombre del proyecto (el nombre del directorio) seguido del nombre del servicio y un número.