En esta sección, aprenderás a crear y ejecutar tu primer contenedor Docker. Este es un paso fundamental para entender cómo Docker puede ayudarte a desarrollar, desplegar y ejecutar aplicaciones de manera eficiente.
Objetivos de Aprendizaje
- Comprender qué es un contenedor Docker.
- Aprender a crear y ejecutar un contenedor Docker.
- Familiarizarse con los comandos básicos para gestionar contenedores.
¿Qué es un Contenedor Docker?
Un contenedor Docker es una instancia ejecutable de una imagen Docker. Los contenedores son ligeros y portátiles, y contienen todo lo necesario para ejecutar una aplicación: código, runtime, herramientas del sistema, bibliotecas y configuraciones.
Pasos para Crear tu Primer Contenedor Docker
- Verificar la Instalación de Docker
Antes de comenzar, asegúrate de que Docker esté instalado y funcionando en tu sistema. Puedes verificarlo ejecutando el siguiente comando en tu terminal:
Deberías ver una salida similar a esta:
- Ejecutar un Contenedor Docker
Vamos a ejecutar un contenedor Docker utilizando una imagen preexistente de Docker Hub. En este caso, utilizaremos la imagen hello-world
, que es una imagen muy simple diseñada para verificar que Docker está funcionando correctamente.
Ejecuta el siguiente comando:
Explicación del Comando
docker run
: Este comando crea y ejecuta un contenedor a partir de una imagen Docker.hello-world
: Especifica la imagen que Docker debe usar para crear el contenedor.
Salida Esperada
Si todo está configurado correctamente, deberías ver una salida similar a esta:
- Listar Contenedores Activos
Para ver los contenedores que están actualmente en ejecución, puedes usar el siguiente comando:
Salida Esperada
Si no hay contenedores en ejecución, la salida será algo como esto:
- Listar Todos los Contenedores
Para ver todos los contenedores, incluyendo los que no están en ejecución, usa el siguiente comando:
Salida Esperada
Deberías ver una lista de contenedores, incluyendo el contenedor hello-world
que ejecutaste anteriormente:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1b55f2f1b1a hello-world "/hello" 2 minutes ago Exited (0) 2 minutes ago amazing_turing
- Eliminar un Contenedor
Para eliminar un contenedor que ya no necesitas, usa el siguiente comando, reemplazando <CONTAINER_ID>
con el ID del contenedor que deseas eliminar:
Por ejemplo:
- Ejercicio Práctico
Ejercicio: Ejecutar un Contenedor de Nginx
-
Ejecuta un contenedor utilizando la imagen
nginx
:docker run -d -p 8080:80 nginx
-
Abre tu navegador web y navega a
http://localhost:8080
. Deberías ver la página de bienvenida de Nginx. -
Lista los contenedores en ejecución para verificar que el contenedor de Nginx está activo:
docker ps
-
Detén y elimina el contenedor de Nginx:
docker stop <CONTAINER_ID> docker rm <CONTAINER_ID>
Solución del Ejercicio
-
Ejecutar el contenedor de Nginx:
docker run -d -p 8080:80 nginx
-
Verificar en el navegador
http://localhost:8080
. -
Listar los contenedores en ejecución:
docker ps
-
Detener y eliminar el contenedor:
docker stop <CONTAINER_ID> docker rm <CONTAINER_ID>
Resumen
En esta sección, has aprendido a crear y ejecutar tu primer contenedor Docker utilizando la imagen hello-world
. También has aprendido a listar, detener y eliminar contenedores. Estos son los primeros pasos fundamentales para trabajar con Docker y gestionar contenedores de manera eficiente.
En el próximo módulo, profundizaremos en el trabajo con imágenes Docker, incluyendo cómo construir tus propias imágenes y gestionar repositorios en Docker Hub.
Docker: De Principiante a Avanzado
Módulo 1: Introducción a Docker
- ¿Qué es Docker?
- Instalando Docker
- Arquitectura de Docker
- Comandos Básicos de Docker
- Entendiendo las Imágenes de Docker
- Creando tu Primer Contenedor Docker
Módulo 2: Trabajando con Imágenes Docker
- Docker Hub y Repositorios
- Construyendo Imágenes Docker
- Conceptos Básicos de Dockerfile
- Gestionando Imágenes Docker
- Etiquetado y Publicación de Imágenes
Módulo 3: Contenedores Docker
- Ejecutando Contenedores
- Ciclo de Vida del Contenedor
- Gestionando Contenedores
- Redes en Docker
- Persistencia de Datos con Volúmenes
Módulo 4: Docker Compose
- Introducción a Docker Compose
- Definiendo Servicios en Docker Compose
- Comandos de Docker Compose
- Aplicaciones Multi-Contenedor
- Variables de Entorno en Docker Compose
Módulo 5: Conceptos Avanzados de Docker
- Profundización en Redes Docker
- Opciones de Almacenamiento Docker
- Mejores Prácticas de Seguridad en Docker
- Optimizando Imágenes Docker
- Registro y Monitoreo en Docker
Módulo 6: Docker en Producción
- CI/CD con Docker
- Orquestando Contenedores con Docker Swarm
- Introducción a Kubernetes
- Desplegando Contenedores Docker en Kubernetes
- Escalado y Balanceo de Carga