Consultando los logs del container

Si el container emite logs o salida en STDOUT / STDERR, entonces podemos obtenerlos sin iniciar sesión en el container.

Preparación

Asegúrate de que el demonio de Docker se esté ejecutando en el host y pueda conectarse a través del cliente de Docker. También necesitarás un container en ejecución que emita logs/salida en STDOUT.

Cómo hacerlo…

Para obtener logs del container, ejecuta el siguiente comando:

docker container logs [OPTIONS] CONTAINER

O ejecuta el siguiente comando heredado:

docker logs [OPTIONS] CONTAINER

Tomemos un ejemplo de la sección anterior donde ejecutamos un container en modo demonio y consultamos los logs:

$ docker container run -d  ubuntu \
           /bin/bash -c  \
           "while [ true ]; do date; sleep 1; done"

Diagrama

Cómo funciona…

Docker buscará el archivo de log específico del container en /var/lib/docker/containers/<Container ID>/<Container ID>-json.log y mostrará los resultados.

Hay más…

Con la opción -t, podemos obtener la marca de tiempo con cada línea de log, y con -f podemos obtener un comportamiento similar a tail.

Véase también

Consulta la opción help de docker container logs:

$ docker container logs --help

La documentación en el sitio web de Docker se puede encontrar aquí: https://docs.docker.com/engine/reference/commandline/container_logs/.