Tu primer laboratorio de Docker

DockerBeginner
Practicar Ahora

Introducción

¡Bienvenido a tu primer laboratorio de Docker! En esta sesión, darás tus primeros pasos en el mundo de la contenerización al conocer Docker, una potente plataforma para desarrollar, enviar y ejecutar aplicaciones.

Docker te permite empaquetar una aplicación junto con todas sus dependencias en una unidad estandarizada llamada contenedor. Esto facilita el despliegue y la ejecución de aplicaciones de manera consistente en diferentes entornos.

La mejor forma de aprender Docker es practicando. No te limites a leer este laboratorio: ¡prueba cada comando en el entorno de LabEx! Es el lugar perfecto para experimentar y aprender.

En este laboratorio, aprenderás a:

  • Comprender los conceptos básicos de Docker
  • Ejecutar tu primer contenedor Docker
  • Utilizar comandos esenciales de Docker
  • Explorar Docker Hub

Consejos: Este laboratorio forma parte del Árbol de Habilidades de Docker, un sistema de conocimiento estructurado. Después de cada paso, el sistema verificará tus acciones y te otorgará puntos de habilidad por las respuestas correctas 💡. Puedes revisar tus puntos acumulados visitando el Árbol de Habilidades de Docker al finalizar el laboratorio.

¡Comencemos nuestro viaje con Docker! Haz clic en Continue abajo o usa el icono de la VM a la izquierda para iniciar el laboratorio.

Este es un Laboratorio Guiado que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel intermedio con una tasa de finalización del 71%. Ha recibido una tasa de reseñas positivas del 99% por parte de los alumnos.

Conceptos fundamentales de Docker

Antes de empezar a usar Docker, familiaricémonos con algunos conceptos clave. No te preocupes si parecen complejos al principio, ¡pronto los veremos en acción!

  1. Contenedor (Container): Un paquete ligero, independiente y ejecutable que incluye todo lo necesario para ejecutar una pieza de software.
  2. Imagen (Image): Piensa en esto como una plantilla o un plano para los contenedores. Contiene todas las instrucciones necesarias para crear un contenedor.
  3. Docker Hub: Es como GitHub pero para imágenes de Docker; es el lugar donde puedes encontrar y compartir imágenes de contenedores.
  4. Docker Engine: La tecnología central que ejecuta y gestiona los contenedores en tu máquina.

Aquí tienes un diagrama sencillo para visualizar cómo interactúan estos conceptos:

graph TD A[Docker Engine] -->|runs| B(Containers) C[Images] -->|create| B D[Docker Hub] -->|stores| C A -->|pulls| C A -->|pushes| D

Este diagrama muestra que:

  • El Docker Engine ejecuta los contenedores.
  • Las imágenes se utilizan para crear los contenedores.
  • Docker Hub almacena las imágenes.
  • El Docker Engine puede descargar (pull) imágenes desde Docker Hub y subir (push) imágenes a Docker Hub.

Comprender estas relaciones te ayudará a entender cómo funciona Docker a medida que avancemos. ¡Haz clic en Continue abajo para pasar al siguiente paso!

Ejecutando tu primer contenedor

Ahora que entendemos los conceptos básicos, vamos a ejecutar nuestro primer contenedor Docker utilizando la imagen hello-world. Esta imagen sencilla está diseñada para verificar que tu instalación de Docker funciona correctamente y para introducirte en los fundamentos de Docker.

Docker Hello World

Para ejecutar el contenedor, utiliza el siguiente comando en tu terminal:

docker run hello-world

Consejos: Haz clic en "Explain Code" en la parte inferior derecha de cualquier bloque de código para chatear con la IA de Labby y aclarar dudas. Después de chatear, haz clic en "Continue" para volver al laboratorio.

Analicemos qué hace este comando:

  1. docker: Es el comando para interactuar con el Docker Engine.
  2. run: Este subcomando le indica a Docker que cree e inicie un nuevo contenedor.
  3. hello-world: Es el nombre de la imagen que queremos ejecutar.

Cuando ejecutas este comando, suceden varias cosas entre bastidores:

  1. Docker comprueba si la imagen hello-world está disponible localmente.
  2. Si no es así, la descarga automáticamente (hace un "pull") desde Docker Hub.
  3. Docker crea un nuevo contenedor basado en esta imagen.
  4. El contenedor se ejecuta, muestra un mensaje y luego finaliza.

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 try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

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

Esta salida explica el proceso que siguió Docker para ejecutar el contenedor hello-world. Desglosémoslo:

  1. El cliente de Docker (el comando que ejecutaste) se comunicó con el demonio de Docker (el servicio en segundo plano que gestiona Docker en tu máquina).
  2. El demonio descargó la imagen "hello-world" de Docker Hub porque no estaba disponible localmente.
  3. El demonio creó un nuevo contenedor a partir de esa imagen y lo ejecutó.
  4. La salida del contenedor se envió de vuelta a tu terminal.

No te preocupes si aún no entiendes todo esto. A medida que avancemos, estos conceptos se volverán más claros.

Haz clic en Continue para proceder al siguiente paso.

Entendiendo las imágenes de Docker

Ahora que hemos ejecutado nuestro primer contenedor, exploremos las imágenes de Docker con más detalle. Recuerda, una imagen es como un plano o una plantilla para un contenedor. Contiene todas las instrucciones necesarias para crearlo.

Para ver las imágenes disponibles en tu sistema local, utiliza el siguiente comando:

docker images

Deberías ver una salida similar a esta:

REPOSITORY          TAG       IMAGE ID       CREATED         SIZE
hello-world         latest    feb5d9fea6a5   2 weeks ago     13.3kB

Veamos qué significa cada columna:

  • REPOSITORY: El nombre de la imagen. En este caso, es "hello-world".
  • TAG: La versión de la imagen. "latest" es la etiqueta por defecto si no especificas una.
  • IMAGE ID: Un identificador único para la imagen. Es útil cuando necesitas referirte a una imagen específica.
  • CREATED: Cuándo se creó la imagen. Esto te ayuda a saber si tienes la versión más reciente.
  • SIZE: El tamaño de la imagen en el disco. Las imágenes de Docker están diseñadas para ser ligeras, por eso la imagen hello-world solo ocupa 13.3kB.

La imagen hello-world ahora está almacenada localmente en tu sistema. Esto significa que si vuelves a ejecutar docker run hello-world, Docker no necesitará descargar la imagen de Docker Hub. Usará la copia local, lo que hará que el proceso sea más rápido.

Si no ves la imagen hello-world, ¡no te preocupes! Es posible que se haya eliminado automáticamente para ahorrar espacio. Siempre puedes volver a descargarla ejecutando docker pull hello-world.

Nota: Los usuarios gratuitos de LabEx no pueden descargar imágenes porque la VM gratuita no tiene acceso a internet. Puedes actualizar a un plan de pago para descargar imágenes.

Haz clic en Continue para proceder al siguiente paso.

Explorando Docker Hub

Docker Hub es un servicio de registro basado en la nube donde los usuarios y organizaciones de Docker pueden almacenar y distribuir sus imágenes. Es como un GitHub para imágenes de Docker, funcionando como un repositorio central donde puedes encontrar, compartir y gestionar imágenes.

Exploremos Docker Hub:

  1. Abre tu navegador web local y ve a https://hub.docker.com
  2. En la barra de búsqueda superior, escribe "hello-world" y presiona Enter.
  3. Verás una lista de imágenes. Busca la imagen oficial "hello-world" (debería tener una insignia de "Official Image").
  4. Haz clic en la imagen "hello-world" para ver sus detalles.
Resultados de búsqueda de imágenes en Docker Hub

En la página de la imagen, puedes ver:

  • Una descripción de la imagen.
  • Instrucciones de uso.
  • El número de descargas (pulls) que tiene la imagen.
  • Las etiquetas (tags) o versiones disponibles.

Docker Hub es el lugar donde Docker busca las imágenes cuando ejecutas un comando docker run y la imagen no está disponible localmente. Por eso pudiste ejecutar el contenedor hello-world aunque no hubieras descargado la imagen explícitamente de antemano.

Puntos clave sobre Docker Hub:

  1. Imágenes Oficiales (Official Images): Son seleccionadas por Docker y suelen estar bien mantenidas y documentadas. Son una excelente opción para principiantes.
  2. Etiquetas (Tags): Las imágenes pueden tener múltiples versiones, llamadas etiquetas. Por ejemplo, podrías ver etiquetas como "latest", "1.0", "2.1", etc. Cuando no especificas una etiqueta (como hicimos con docker run hello-world), Docker asume que quieres la etiqueta "latest".
  3. Comando Pull: En la página de cada imagen, verás un "Pull Command". Esto es lo que usarías para descargar manualmente la imagen sin ejecutar un contenedor. Por ejemplo: docker pull hello-world.
  4. Dockerfile: Muchas imágenes en Docker Hub tienen un enlace a su Dockerfile, que es el script utilizado para construir la imagen. Esto puede ser útil si quieres entender cómo se creó la imagen.

Explorar Docker Hub y entender cómo encontrar y usar imágenes es una habilidad crucial al trabajar con Docker. A medida que progreses, probablemente te encontrarás buscando con frecuencia en Docker Hub imágenes que se adapten a tus necesidades.

¡Este es el paso final de tu primer laboratorio de Docker! Haz clic en Continue para verificar todas tus habilidades.

Resumen

¡Felicidades! ¡Has completado tu primer laboratorio de Docker y has dado tus primeros pasos en el mundo de la contenerización! Has aprendido a:

  • Comprender los conceptos básicos de Docker.
  • Ejecutar tu primer contenedor usando la imagen hello-world.
  • Ver y entender las imágenes de Docker en tu sistema.
  • Navegar por Docker Hub para encontrar e informarte sobre las imágenes.

¡Esto es solo el comienzo de tu viaje con Docker! Has visto lo potente que puede ser la contenerización, incluso con ejemplos sencillos. ¿Estás listo para llevar tus habilidades al siguiente nivel?

LabEx Pro desbloquea un mundo completamente nuevo de aprendizaje de Docker, que incluye:

LabEx Pro

Si ya te has actualizado a LabEx Pro, por favor ignora este banner promocional, no volverá a aparecer.

  • Laboratorios avanzados de Docker: Aprende orquestación de contenedores, aplicaciones multi-contenedor y estrategias de despliegue en producción.
  • Proyectos del mundo real: Adquiere experiencia práctica con Docker en escenarios de desarrollo reales.
  • Soporte experto: Obtén ayuda de profesionales de Docker siempre que la necesites.
  • Árbol de Habilidades integral: Construye una base sólida para una carrera en DevOps y computación en la nube.

¡Continúa tu aventura con Docker con más laboratorios gratuitos, o actualiza a LabEx Pro para acelerar tu camino hacia convertirte en un experto en Docker!