Al ejecutar aplicaciones con Docker, una de las cosas importantes que debemos saber es cómo ver los registros del contenedor. Estos registros son muy útiles para verificar si la aplicación funciona correctamente, si hay errores, o si el servicio dentro del contenedor se ha activado correctamente.
En este ejemplo, no usaremos un nombre de contenedor específico. Así que usa un formato general como:
nombre-del-contenedor
O si quieres que sea más fácil de entender, supón que el nombre de tu contenedor es:
nombre-del-proyecto
Luego solo reemplaza nombre-del-proyecto con el nombre de tu propio contenedor Docker.
Para verificar el nombre del contenedor en ejecución, usa:
docker ps
Mira la sección NAMES. Ese es el nombre del contenedor que puedes usar para el comando Docker logs.
1. Ver los registros del contenedor
Para ver los registros de un contenedor, usa el comando:
docker logs nombre-del-proyecto
Reemplaza nombre-del-proyecto con el nombre de tu contenedor.
Ejemplo de formato general:
docker logs nombre-del-contenedor
Este comando mostrará los registros ya registrados de ese contenedor. Por lo general, estos registros contienen información como el proceso de inicio de la aplicación, errores, advertencias o mensajes de que el servidor ya está activo.
2. Ver registros en vivo
Si quieres ver los registros en tiempo real o de forma continua, usa la opción -f.
docker logs -f nombre-del-proyecto
La opción -f significa follow (seguir). Así que la terminal seguirá mostrando los registros más recientes mientras el contenedor esté en ejecución.
Esto es muy útil cuando estás depurando. Por ejemplo, después de reiniciar el contenedor, actualizar la aplicación, o querer ver si hay nuevos errores cuando se accede al sitio web.
Para salir del modo de registro en vivo, pulsa:
CTRL + C
Esto solo detiene la visualización de registros en la terminal, no detiene el contenedor.
3. Ver solo los últimos registros
A veces los registros del contenedor son muy largos, especialmente si la aplicación ha estado funcionando durante mucho tiempo. Si solo quieres ver las últimas líneas, usa --tail.
docker logs --tail=100 nombre-del-proyecto
El comando anterior mostrará las últimas 100 líneas del registro del contenedor.
Si quieres ver las últimas 50 líneas:
docker logs --tail=50 nombre-del-proyecto
Si quieres ver los últimos registros y seguir los nuevos, puedes combinar --tail y -f.
docker logs --tail=100 -f nombre-del-proyecto
Con este comando, Docker mostrará las últimas 100 líneas y luego continuará mostrando los nuevos registros en vivo.
4. Ver registros basados en el tiempo
Docker también puede mostrar registros según un tiempo específico. Por ejemplo, si solo quieres ver los registros de los últimos 10 minutos:
docker logs --since=10m nombre-del-proyecto
O de la última hora:
docker logs --since=1h nombre-del-proyecto
Si quieres ver los registros hasta un tiempo determinado, usa:
docker logs --until=10m nombre-del-proyecto
Esta función es útil si quieres enfocarte en buscar errores que acaban de ocurrir, sin tener que leer los registros desde el principio.
5. Acceder al contenedor
Además de ver los registros desde fuera, a veces también necesitas entrar al contenedor para ver archivos, carpetas o ejecutar comandos específicos.
Usa el comando:
docker exec -it nombre-del-proyecto sh
Generalmente, los contenedores basados en Linux ligeros usan sh.
Si tu imagen Docker soporta bash, también puedes usar:
docker exec -it nombre-del-proyecto bash
Una vez dentro del contenedor, puedes ver la ubicación de la carpeta actual con:
pwd
Y luego listar archivos y carpetas:
ls
Si quieres ver más detalles:
ls -la
6. Verificar la aplicación desde dentro del contenedor
Después de entrar al contenedor, puedes comprobar si la aplicación está funcionando intentando acceder a localhost en el puerto que usa la aplicación.
El formato general es:
wget -qO- http://localhost:PORT
Reemplaza PORT con el puerto interno de la aplicación dentro del contenedor.
Ejemplo:
wget -qO- http://localhost:8080
O si dentro del contenedor está disponible curl, puedes usar:
curl http://localhost:PORT
Ejemplo:
curl http://localhost:8080
Si la aplicación funciona correctamente, normalmente aparecerá una respuesta como HTML, JSON o texto específico de la aplicación.
7. Verificar la aplicación desde el VPS o el host
Además de desde dentro del contenedor, también puedes verificar la aplicación directamente desde el VPS o el servidor host.
Formato general:
curl http://localhost:PORT
Reemplaza PORT con el puerto abierto en el VPS o el mapeo de puertos de Docker.
Ejemplo:
curl http://localhost:8080
Si usas Docker, asegúrate de que el puerto del contenedor esté mapeado al puerto del host. Puedes verificarlo con:
docker ps
Luego verás la sección PORTS, por ejemplo:
0.0.0.0:8080->8080/tcp
Esto significa que el puerto 8080 del VPS se dirige al puerto 8080 dentro del contenedor.
8. Verificar el nombre del contenedor
Si no estás seguro del nombre del contenedor, ejecuta:
docker ps
Este comando mostrará la lista de contenedores en ejecución.
Si quieres ver todos los contenedores, incluidos los detenidos:
docker ps -a
Luego puedes ver la sección NAMES y usar ese nombre para el comando docker logs.
Ejemplo:
docker logs nombre-del-contenedor
9. Ejemplo de flujo de depuración simple
Normalmente, cuando una aplicación Docker tiene problemas, puedes empezar verificando el contenedor primero.
Primero, verifica si el contenedor aún está en ejecución:
docker ps
Luego ve los últimos registros:
docker logs --tail=100 nombre-del-proyecto
Si quieres monitorear en tiempo real:
docker logs -f nombre-del-proyecto
Si necesitas entrar al contenedor:
docker exec -it nombre-del-proyecto sh
Después, verifica la carpeta de la aplicación:
pwd
ls -la
Luego verifica si la aplicación responde en el puerto interno:
wget -qO- http://localhost:PORT
O:
curl http://localhost:PORT
Conclusión
Para ver los registros de un contenedor Docker, el comando más básico que se utiliza es:
docker logs nombre-del-proyecto
Si quieres ver los registros en vivo:
docker logs -f nombre-del-proyecto
Si solo quieres ver la parte final de los registros:
docker logs --tail=100 nombre-del-proyecto
Y si necesitas entrar al contenedor:
docker exec -it nombre-del-proyecto sh
Con estos comandos sencillos, ya puedes verificar el estado de la aplicación en Docker, buscar errores, ver procesos en ejecución y asegurarte de que el servicio dentro del contenedor esté activo correctamente.
Escrito por
Wilan
Colaborador permanente de Bali Island Tekno que activamente comparte conocimientos sobre tecnología, programación y el mundo de la ingeniería de software.