Cómo usar el comando docker container top para ver procesos en contenedores

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás a utilizar el comando docker container top para inspeccionar los procesos que se ejecutan dentro de un contenedor Docker. Comenzarás iniciando un contenedor simple para tener un entorno en ejecución.

Posteriormente, utilizarás el comando docker container top para visualizar los procesos activos dentro del contenedor. Finalmente, explorarás cómo usar docker container top con varias opciones de ps para personalizar la salida y obtener información más detallada sobre los procesos del contenedor.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/top("Display Running Processes in Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/run -.-> lab-555125{{"Cómo usar el comando docker container top para ver procesos en contenedores"}} docker/ps -.-> lab-555125{{"Cómo usar el comando docker container top para ver procesos en contenedores"}} docker/top -.-> lab-555125{{"Cómo usar el comando docker container top para ver procesos en contenedores"}} docker/pull -.-> lab-555125{{"Cómo usar el comando docker container top para ver procesos en contenedores"}} end

Iniciar un contenedor simple

En este paso, aprenderás cómo iniciar un contenedor Docker simple. Los contenedores Docker son unidades ligeras, portátiles y autosuficientes que contienen todo lo necesario para ejecutar una aplicación.

Primero, vamos a descargar la imagen hello-world desde Docker Hub. Esta es una imagen muy pequeña que se usa frecuentemente para probar si Docker está funcionando correctamente.

docker pull hello-world

Deberías ver una salida que indica que la imagen está siendo descargada y extraída.

Ahora, ejecutemos un contenedor basado en la imagen hello-world.

docker run hello-world

Cuando ejecutes este comando, Docker creará un nuevo contenedor a partir de la imagen hello-world y ejecutará el comando definido en la imagen. La imagen hello-world está diseñada para simplemente imprimir un mensaje en la consola y luego finalizar.

Deberías ver una salida similar a esta:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To discover more examples and ideas, visit:
 https://docs.docker.com/get-started/

Esta salida confirma que Docker está instalado y funcionando correctamente en tu VM de LabEx. El comando docker run creó e inició un contenedor, que luego ejecutó su tarea y finalizó.

Usar docker container top para ver procesos en ejecución

En este paso, aprenderás a utilizar el comando docker container top para visualizar los procesos en ejecución dentro de un contenedor Docker. Este comando es similar al comando top en un sistema Linux, pero muestra específicamente los procesos que se ejecutan dentro de un contenedor.

Primero, necesitamos un contenedor en ejecución. Iniciemos un contenedor simple de ubuntu y mantengámoslo activo en segundo plano. Usaremos el flag -d para ejecutar el contenedor en modo desatendido y el comando sleep infinity para mantener el contenedor activo.

docker run -d ubuntu sleep infinity

Verás una cadena larga de caracteres impresa en la consola. Este es el ID del contenedor.

Ahora, usemos docker container top seguido del ID o nombre del contenedor para ver los procesos en ejecución dentro de este contenedor. Puedes obtener el ID del contenedor ejecutando docker ps.

docker ps

Copia el CONTAINER ID de la salida. Luego, reemplaza <container_id> con el ID real en el siguiente comando:

docker container top <container_id>

Deberías ver una salida similar a esta, mostrando el proceso sleep infinity ejecutándose dentro del contenedor:

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                7345                7331                0                   14:55               ?                   00:00:00            sleep infinity

La salida muestra información sobre los procesos en ejecución dentro del contenedor especificado, incluyendo el ID de Usuario (UID), ID de Proceso (PID), ID de Proceso Padre (PPID), utilización de CPU (C), Hora de Inicio (STIME), terminal de control (TTY), tiempo acumulado de CPU (TIME) y el comando que se está ejecutando (CMD). En este caso, el proceso principal es sleep infinity.

Usar docker container top con opciones de ps

En este paso, aprenderás a utilizar el comando docker container top con opciones de ps para personalizar la salida y visualizar información específica de procesos dentro de un contenedor. El comando docker container top acepta opciones estándar de ps, permitiéndote controlar qué columnas se muestran y en qué formato.

Primero, asegúrate de tener un contenedor en ejecución del paso anterior. Puedes verificarlo ejecutando docker ps.

docker ps

Copia el CONTAINER ID del contenedor ubuntu en ejecución.

Ahora, usemos docker container top con algunas opciones de ps. Por ejemplo, para mostrar solo el ID de proceso (pid) y el comando (cmd), puedes usar la opción -o seguida de las columnas deseadas. Reemplaza <container_id> con tu ID de contenedor.

docker container top pid,cmd < container_id > -o

Deberías ver una salida similar a esta, mostrando solo las columnas PID y CMD:

PID                 CMD
7345                sleep infinity

Puedes usar varias opciones de ps para obtener diferente información. Por ejemplo, para ver el uso de CPU (%cpu) y uso de memoria (%mem), puedes usar:

docker container top pid,%cpu,%mem,cmd < container_id > -o

La salida incluirá el uso de CPU y memoria para los procesos en el contenedor:

PID                 %CPU                %MEM                CMD
7345                0.0                 0.0                 sleep infinity

Puedes consultar la documentación del comando ps para obtener una lista completa de opciones disponibles. Usar docker container top con opciones de ps proporciona una forma flexible de monitorear los procesos que se ejecutan dentro de tus contenedores y solucionar problemas.

Resumen

En este laboratorio, aprendiste los pasos fundamentales para interactuar con contenedores Docker. Comenzaste descargando y ejecutando la imagen simple hello-world, que sirvió como prueba básica de tu instalación de Docker y demostró los comandos principales docker pull y docker run. Este primer paso ilustró cómo Docker obtiene imágenes y crea contenedores para ejecutar tareas predefinidas.

A continuación, te presentaron el comando docker container top. Aunque no se proporcionó el contenido completo, el título del paso indica que aprenderías a usar este comando para inspeccionar los procesos en ejecución dentro de un contenedor, similar al comando top en un entorno Linux estándar. El paso final, "Usar docker container top con opciones de ps", sugiere una exploración más profunda de las capacidades de docker container top, probablemente demostrando cómo personalizar la salida usando opciones similares a las del comando ps.