Acceso y gestión de contenedores

DockerBeginner
Practicar Ahora

Introducción

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

A lo largo de este desafío, navegarás por diversos escenarios que reflejan situaciones del mundo real que podrías encontrar al trabajar con contenedores Docker. Desde el lanzamiento de contenedores e inspección de sus registros hasta la ejecución de comandos en su interior y, finalmente, la limpieza de recursos, obtendrás experiencia práctica con el ciclo de vida completo de las operaciones de contenedores Docker.

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

Iniciar un contenedor

El primer paso en cualquier flujo de trabajo de Docker suele ser el lanzamiento de un contenedor. En esta tarea, iniciarás un contenedor y aprenderás a acceder a sus registros (logs), una habilidad crucial para la resolución de problemas y el monitoreo del comportamiento del contenedor.

Tareas

Tus tareas son:

  1. Iniciar un contenedor llamado my-container, basado en la imagen nginx.
  2. Visualizar los registros (logs) del contenedor my-container.

Requisitos

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

Ejemplo

Tras completar con éxito este paso, deberías poder ver tu contenedor en ejecución al usar 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á activo y funcionando, 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

Aunque ejecutar contenedores es importante, saber cómo detenerlos de forma controlada es igualmente crucial. Esta habilidad es particularmente útil cuando necesitas realizar tareas de mantenimiento, actualizar configuraciones o simplemente liberar recursos del sistema.

Tareas

Tu tarea es:

  1. Detener el contenedor llamado my-container.

Requisitos

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

Ejemplo

Después de detener con éxito el contenedor, puedes usar docker ps -a para ver todos los contenedores, incluidos los 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 deteniendo el contenedor! Esta habilidad es vital para gestionar los ciclos de vida de los contenedores de manera efectiva. Ahora que has dominado el inicio y la detención de contenedores, pasemos a un tema más avanzado: ejecutar comandos dentro de un contenedor en funcionamiento.

✨ Revisar Solución y Practicar

Ejecutar comandos en un contenedor

Una de las características más potentes de Docker es la capacidad de ejecutar comandos dentro de un contenedor que ya está en funcionamiento. Esta capacidad es invaluable para la depuración, la ejecución de tareas de mantenimiento o la actualización de configuraciones sin necesidad de detener el contenedor.

Tareas

Tus tareas son:

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

Requisitos

  • Utiliza el comando docker run para iniciar el contenedor.
  • Asegúrate de que el contenedor permanezca activo después de iniciarse.
  • Utiliza el comando docker exec para ejecutar el comando dentro del contenedor.
  • Realiza 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 larga duración. 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 funcionamiento.

¡Fantástico trabajo! Ahora has aprendido a interactuar con un contenedor en ejecución ejecutando comandos en su interior. Esta habilidad abre un mundo de posibilidades para la gestión y el mantenimiento de contenedores. En el paso final, aprenderemos cómo hacer limpieza 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 sean necesarios para liberar recursos del sistema y mantener ordenado tu entorno de Docker.

Tareas

Tu tarea es:

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

Requisitos

  • Utiliza el comando docker stop para detener el contenedor.
  • Utiliza el comando docker rm para eliminar el contenedor.
  • Realiza 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 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 paso final! Ahora has aprendido cómo limpiar tu entorno de 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 desafío integral, has recorrido los aspectos esenciales de la gestión de contenedores Docker. Has demostrado tu capacidad para iniciar contenedores, acceder a sus registros, detener contenedores en ejecución, ejecutar comandos dentro de ellos y, finalmente, eliminarlos cuando ya no son necesarios.

Estas habilidades constituyen la base de un uso eficaz de Docker y te serán de gran utilidad en diversos escenarios, desde el desarrollo y las pruebas hasta los despliegues en producción. Has adquirido experiencia práctica con la CLI de Docker, lo cual es invaluable para cualquier persona que trabaje con aplicaciones contenedorizadas.

A medida que continúes tu camino con Docker, recuerda que estas operaciones básicas son los pilares para flujos de trabajo más complejos. Practica estas habilidades con regularidad y te volverás más competente en la gestión de contenedores, lo que en última instancia conducirá a procesos de desarrollo y despliegue más eficientes y optimizados.

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