Ver logs y reiniciar un servicio con Docker Compose

Terminal con comandos de Docker Compose para ver logs y reiniciar un servicio

Cuando un contenedor falla o se queda bloqueado, conviene mirar primero sus logs y reiniciar solo el servicio afectado, no toda la aplicación.

Ver los últimos logs

Desde el directorio donde está el compose.yml, lista los servicios si no recuerdas el nombre exacto:

docker compose ps

Después consulta solo el servicio que te interesa. Por ejemplo, para ver las últimas 100 líneas de web:

docker compose logs --tail 100 web

Si quieres seguir la salida en directo:

docker compose logs -f web

Y si el problema acaba de ocurrir, puedes limitar la búsqueda por tiempo:

docker compose logs --since 10m web

Reiniciar solo ese servicio

Si el servicio necesita reiniciarse, hazlo de forma acotada:

docker compose restart web

Así evitas parar otros servicios del mismo proyecto, como una base de datos o un proxy, salvo que realmente sea necesario.

Comprueba después que vuelve a quedar levantado:

docker compose ps web
docker compose logs --tail 50 web

Nota sobre variables en `compose.yml`

Si escribes comandos de shell dentro del compose.yml y necesitas que el contenedor reciba un símbolo $, escápalo como $$. Por ejemplo:

services:
  logger:
    image: busybox
    command: sh -c 'echo "PID $$"'

Docker Compose interpreta variables antes de arrancar el contenedor. Escapar el dólar evita sustituciones inesperadas.

Resumen rápido

# ver servicios
docker compose ps

# últimos logs de un servicio
docker compose logs --tail 100 web

# logs recientes
docker compose logs --since 10m web

# reiniciar solo ese servicio
docker compose restart web

# verificar
docker compose ps web

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *