Cómo crear y ejecutar un contenedor Docker 'Hola Mundo'

DockerBeginner
Practicar Ahora

Introducción

Docker es una potente plataforma de contenedorización que ha revolucionado la forma en que los desarrolladores construyen, implementan y gestionan aplicaciones. En este tutorial, te guiaremos a través del proceso de creación y ejecución de un contenedor Docker simple de 'Hola Mundo', que es un excelente punto de partida para aprender Docker.

Introducción a Docker

Docker es una popular plataforma de código abierto que permite a los desarrolladores construir, implementar y ejecutar aplicaciones en un entorno de contenedorización. Los contenedores son paquetes de software ligeros, autónomos y ejecutables que incluyen todo lo necesario para ejecutar una aplicación, como el código, el tiempo de ejecución, las herramientas del sistema y las bibliotecas.

¿Qué es Docker?

Docker es una herramienta diseñada para facilitar la creación, implementación y ejecución de aplicaciones mediante el uso de contenedores. Los contenedores permiten a un desarrollador empaquetar una aplicación con todas las partes que necesita, como bibliotecas y otras dependencias, y enviarla como un solo paquete.

Arquitectura de Docker

La arquitectura de Docker consta de los siguientes componentes clave:

graph TD A[Cliente Docker] --> B[Daemon de Docker] B --> C[Imágenes Docker] B --> D[Contenedores Docker] B --> E[Registros Docker]
  • Cliente Docker: La interfaz de usuario para interactuar con el sistema Docker.
  • Daemon de Docker: El proceso de fondo que gestiona los objetos Docker, como imágenes, contenedores, redes y volúmenes.
  • Imágenes Docker: Plantillas para crear contenedores Docker.
  • Contenedores Docker: Instancias ejecutables de imágenes Docker.
  • Registros Docker: Repositorios para almacenar y distribuir imágenes Docker.

Beneficios del uso de Docker

  • Consistencia: Docker garantiza que las aplicaciones se ejecuten de la misma manera, independientemente de la infraestructura subyacente.
  • Escalabilidad: Los contenedores Docker se pueden escalar fácilmente hacia arriba o hacia abajo según los requisitos de recursos de la aplicación.
  • Portabilidad: Los contenedores Docker se pueden ejecutar en cualquier máquina que tenga Docker instalado, independientemente del sistema operativo subyacente.
  • Eficiencia: Los contenedores Docker son ligeros y utilizan menos recursos en comparación con las máquinas virtuales tradicionales.

Primeros pasos con Docker

Para comenzar con Docker, necesitarás instalar el motor Docker en tu sistema. Puedes descargar e instalar Docker desde el sitio web oficial de Docker (https://www.docker.com/get-started). Una vez instalado, puedes comenzar a usar Docker para construir y ejecutar tus aplicaciones.

Creación de un contenedor Docker "Hola Mundo"

En esta sección, aprenderemos a crear un sencillo contenedor Docker "Hola Mundo".

Creación de un Dockerfile

Un Dockerfile es un archivo de texto que contiene las instrucciones para construir una imagen Docker. Vamos a crear un Dockerfile simple:

## Usa la imagen oficial de Ubuntu 22.04 como imagen base
FROM ubuntu:22.04

## Establece el directorio de trabajo en /app
WORKDIR /app

## Copia el script "hello.sh" al contenedor
COPY hello.sh .

## Haz el script ejecutable
RUN chmod +x hello.sh

## Define el comando para ejecutar el script cuando se inicia el contenedor
CMD ["./hello.sh"]

En este Dockerfile, hacemos lo siguiente:

  1. Usamos la imagen oficial de Ubuntu 22.04 como imagen base.
  2. Establecemos el directorio de trabajo en /app.
  3. Copiamos el script "hello.sh" al contenedor.
  4. Hacemos el script ejecutable.
  5. Definimos el comando para ejecutar el script cuando se inicia el contenedor.

Construcción de la imagen Docker

Para construir la imagen Docker, ejecuta el siguiente comando en el mismo directorio que el Dockerfile:

docker build -t hello-world .

Este comando construirá la imagen Docker con la etiqueta "hello-world".

Verificación de la imagen

Puedes listar todas las imágenes Docker en tu sistema ejecutando:

docker images

Deberías ver la imagen "hello-world" en la lista.

Ejecutando y explorando el contenedor "Hola Mundo"

Ahora que hemos construido la imagen Docker "hello-world", vamos a ejecutar y explorar el contenedor.

Ejecutando el contenedor

Para ejecutar el contenedor "hello-world", utiliza el siguiente comando:

docker run hello-world

Este comando iniciará el contenedor y ejecutará el comando definido en el Dockerfile (es decir, ejecutar el script "hello.sh").

Deberías ver la salida:

Hello, LabEx!

Explorando el contenedor

Puedes explorar el contenedor en ejecución utilizando varios comandos de Docker:

  1. Listar contenedores en ejecución:

    docker ps

    Esto mostrará los contenedores en ejecución en tu sistema.

  2. Inspeccionar el contenedor:

    docker inspect hello-world

    Esto proporcionará información detallada sobre el contenedor, como su configuración, ajustes de red y más.

  3. Ver los registros del contenedor:

    docker logs hello-world

    Esto mostrará la salida del script "hello.sh" que se ejecutó en el contenedor.

  4. Ejecutar un comando dentro del contenedor en ejecución:

    docker exec -it hello-world /bin/bash

    Esto iniciará una nueva sesión interactiva dentro del contenedor en ejecución, permitiéndote explorar el sistema de archivos del contenedor y ejecutar comandos adicionales.

Deteniendo y eliminando el contenedor

Para detener el contenedor en ejecución, utiliza el siguiente comando:

docker stop hello-world

Para eliminar el contenedor, utiliza el siguiente comando:

docker rm hello-world

Esto detendrá y eliminará el contenedor "hello-world" de tu sistema.

Resumen

En este tutorial, has aprendido a crear y ejecutar un contenedor Docker "Hola Mundo". Al comprender los conceptos básicos de los contenedores Docker, has dado el primer paso para dominar esta poderosa tecnología. Docker te permite empaquetar tus aplicaciones y sus dependencias en unidades portátiles y autocontenidas, lo que facilita el desarrollo, la implementación y la gestión de tu software en diferentes entornos. Con el conocimiento adquirido en este tutorial, ahora puedes explorar conceptos más avanzados de Docker y comenzar a crear tus propias aplicaciones contenedorizadas.