Acceder y gestionar 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

Docker ha revolucionado la forma en que desplegamos y gestionamos aplicaciones al introducir los contenedores (containers) - entornos livianos y portátiles que pueden ejecutarse en cualquier sistema con Docker instalado. Como desarrollador o administrador de sistemas, dominar la gestión de contenedores Docker es crucial para el despliegue y mantenimiento eficientes de aplicaciones. En este reto, pondrás a prueba tus habilidades en Docker al realizar una serie de tareas que cubren los aspectos esenciales de la gestión de contenedores utilizando la interfaz de línea de comandos (CLI) de Docker.

A lo largo de este reto, navegarás por diversos escenarios que reflejan situaciones del mundo real que podrías encontrar al trabajar con contenedores Docker. Desde lanzar contenedores e inspeccionar sus registros (logs) hasta ejecutar comandos dentro de ellos y, finalmente, limpiar los recursos, adquirirás experiencia práctica en el ciclo de vida completo de las operaciones de contenedores Docker.

¡Adentrémonos y comencemos a dominar el arte de la gestión de contenedores Docker!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/exec("Execute Command in Container") docker/ContainerOperationsGroup -.-> docker/logs("View Container Logs") subgraph Lab Skills docker/run -.-> lab-389192{{"Acceder y gestionar contenedores"}} docker/ps -.-> lab-389192{{"Acceder y gestionar contenedores"}} docker/stop -.-> lab-389192{{"Acceder y gestionar contenedores"}} docker/rm -.-> lab-389192{{"Acceder y gestionar contenedores"}} docker/exec -.-> lab-389192{{"Acceder y gestionar contenedores"}} docker/logs -.-> lab-389192{{"Acceder y gestionar contenedores"}} end

Iniciar un contenedor

El primer paso en cualquier flujo de trabajo de Docker suele ser lanzar un contenedor. En esta tarea, iniciarás un contenedor y aprenderás cómo acceder a sus registros (logs) - una habilidad crucial para solucionar problemas y monitorear el comportamiento del contenedor.

Tareas

Tus tareas son:

  1. Iniciar un contenedor llamado my-container, basado en la imagen nginx.
  2. Ver los registros del contenedor my-container.

Requisitos

  • Utilizar el comando docker run para iniciar el contenedor.
  • Utilizar el comando docker logs para ver los registros del contenedor.
  • Realizar todas las operaciones en el directorio /home/labex/project.

Ejemplo

Después de completar exitosamente este paso, deberías poder ver tu contenedor en ejecución cuando uses el comando docker ps. La salida debería ser similar a esta:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
3a7d9f642a7f   nginx     "/docker-entrypoint.…"   12 seconds ago   Up 11 seconds   80/tcp    my-container

Esta salida confirma que tu contenedor Nginx está en funcionamiento y listo para servir contenido web.

¡Buen trabajo al lanzar tu primer contenedor! Ser capaz de iniciar contenedores y acceder a sus registros es fundamental para trabajar con Docker. A continuación, veremos cómo detener un contenedor en ejecución - otra habilidad esencial en la gestión de contenedores.

✨ Revisar Solución y Practicar

Detener un contenedor

Si bien es importante ejecutar contenedores, saber cómo detenerlos correctamente es igualmente crucial. Esta habilidad es especialmente útil cuando necesitas realizar mantenimiento, actualizar configuraciones o simplemente liberar recursos del sistema.

Tareas

Tu tarea es:

  1. Detener el contenedor llamado my-container.

Requisitos

  • Utilizar el comando docker stop para detener el contenedor.
  • Realizar todas las operaciones en el directorio /home/labex/project.

Ejemplo

Después de detener exitosamente el contenedor, puedes usar docker ps -a para ver todos los contenedores, incluyendo aquellos que están detenidos. La salida debería ser similar a esta:

CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS                      PORTS     NAMES
3a7d9f642a7f   nginx     "/docker-entrypoint.…"   2 minutes ago   Exited (0) 10 seconds ago             my-container

Observa cómo el estado de my-container ha cambiado a "Exited", lo que indica que se ha detenido correctamente.

¡Excelente trabajo al detener el contenedor! Esta habilidad es crucial para gestionar eficazmente los ciclos de vida de los contenedores. Ahora que has dominado el inicio y detención de contenedores, pasemos a un tema más avanzado: ejecutar comandos dentro de un contenedor en ejecución.

✨ Revisar Solución y Practicar

Ejecutar comandos en un contenedor

Una de las características más poderosas de Docker es la capacidad de ejecutar comandos dentro de un contenedor en ejecución. Esta capacidad es invaluable para depurar, ejecutar tareas de mantenimiento o actualizar configuraciones sin detener el contenedor.

Tareas

Tus tareas son:

  1. Iniciar un contenedor llamado my-shell-container, basado en la imagen ubuntu. El contenedor debe seguir ejecutándose en segundo plano.
  2. Ejecutar el comando echo "Hello World" dentro del contenedor my-shell-container.

Requisitos

  • Utilizar el comando docker run para iniciar el contenedor.
  • Asegurarse de que el contenedor permanezca activo después de iniciarse.
  • Utilizar el comando docker exec para ejecutar el comando dentro del contenedor.
  • Realizar todas las operaciones en el directorio /home/labex/project.

Pista

Los contenedores basados en la imagen ubuntu se cerrarán inmediatamente después de iniciarse a menos que se especifique un comando de ejecución prolongada. Para mantener el contenedor activo, considera ejecutar un comando como sleep infinity al iniciar el contenedor. Por ejemplo:

docker your-command sleep infinity

Ejemplo

Después de iniciar el contenedor, puedes usar el comando docker ps para confirmar que está en ejecución. La salida debería ser similar a esta:

CONTAINER ID   IMAGE     COMMAND            CREATED          STATUS          PORTS     NAMES
1a2b3c4d5e6f   ubuntu    "<command>"        30 seconds ago   Up 29 seconds             my-shell-container

Cuando ejecutes el comando echo dentro del contenedor, deberías ver la siguiente salida:

Hello World

Esto demuestra que has ejecutado con éxito un comando dentro del contenedor en ejecución.

¡Trabajo fantástico! Ahora has aprendido cómo interactuar con un contenedor en ejecución ejecutando comandos dentro de él. Esta habilidad abre un mundo de posibilidades para la gestión y el mantenimiento de contenedores. En el último paso, aprenderemos cómo limpiar eliminando los contenedores que ya no necesitamos.

✨ Revisar Solución y Practicar

Eliminar un contenedor

A medida que trabajes con Docker, a menudo crearás contenedores para tareas temporales o pruebas. Es importante limpiar estos contenedores cuando ya no los necesites para liberar recursos del sistema y mantener tu entorno Docker ordenado.

Tareas

Tu tarea es:

  1. Detener y eliminar el contenedor llamado my-shell-container.

Requisitos

  • Utilizar el comando docker stop para detener el contenedor.
  • Utilizar el comando docker rm para eliminar el contenedor.
  • Realizar todas las operaciones en el directorio /home/labex/project.

Ejemplo

Después de completar este paso, puedes usar docker ps -a para confirmar que el contenedor my-shell-container ha sido eliminado. Ya no deberías verlo en la lista de contenedores:

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Esto indica que has eliminado con éxito el contenedor de tu sistema.

¡Felicidades por completar el último paso! Ahora has aprendido cómo limpiar tu entorno Docker eliminando contenedores innecesarios. Esta habilidad es crucial para mantener un espacio de trabajo de Docker eficiente y organizado.

✨ Revisar Solución y Practicar

Resumen

En este reto integral, has recorrido los aspectos esenciales de la gestión de contenedores de Docker. Has demostrado tu capacidad para iniciar contenedores, acceder a sus registros (logs), detener contenedores en ejecución, ejecutar comandos dentro de contenedores y, finalmente, eliminar contenedores cuando ya no los necesites.

Estas habilidades forman la base para un uso efectivo de Docker y te serán de gran ayuda en diversos escenarios, desde el desarrollo y las pruebas hasta las implementaciones en producción. Has adquirido experiencia práctica con la interfaz de línea de comandos (CLI) de Docker, lo cual es invaluable para cualquier persona que trabaje con aplicaciones contenerizadas.

A medida que continúes tu viaje con Docker, recuerda que estas operaciones básicas son los bloques de construcción para flujos de trabajo de Docker más complejos. Practica estas habilidades regularmente y verás cómo te vuelves más competente en la gestión de contenedores, lo que en última instancia conducirá a procesos de desarrollo e implementación más eficientes y simplificados.

Sigue explorando las capacidades de Docker y no dudes en experimentar con diferentes imágenes y configuraciones de contenedores. El mundo de la contenerización es vasto y lleno de posibilidades, y ahora estás bien equipado para navegar por él con confianza.