🐳 Construye, ejecuta y entiende tu primer contenedor
Comenzá con Docker: Una guía paso a paso para tu primer contenedor
Hoy exploramos una de las herramientas más poderosas del mundo DevOps: Docker.
Si alguna vez te preguntaste cómo empezar con contenedores, esta guía te llevará paso a paso para correr tu primer contenedor de manera simple y efectiva.
🧠 ¿Qué es Docker y por qué usar contenedores?
Docker es una plataforma que utiliza contenedores para desarrollar, enviar y ejecutar aplicaciones de forma consistente, sin importar dónde se ejecuten.
Un contenedor empaqueta todo lo que una aplicación necesita: código, dependencias, librerías, configuraciones. Es liviano, portátil y se puede mover entre entornos con total facilidad.
✅ Ventajas de los contenedores Docker:
- Portabilidad: Ejecutá tu app donde quieras, sin "funciona en mi máquina".
- Aislamiento: Cada app corre de forma independiente.
- Eficiencia: Usa menos recursos que las máquinas virtuales tradicionales.
🛠️ Primeros pasos: Verificá tu instalación de Docker
-
Asegurate de tener Docker instalado.
🔗 Guía para instalar Docker sin gastar un peso -
Verificá la instalación con este comando:
docker --version
🚀 Configurá tu primer contenedor Docker
Paso 1: Descargar una imagen
Las imágenes son las plantillas base que usamos para crear contenedores.
Descargá la imagen oficial hello-world
:
docker pull hello-world
Paso 2: Ejecutar tu primer contenedor
docker run hello-world
✅ ¿Qué pasa aquí?
- Docker descarga la imagen (si no la tenés localmente).
- Crea un nuevo contenedor basado en esa imagen.
- Ejecuta el contenido y te da un mensaje de confirmación si todo funciona.
🌐 Probá algo más real: Servidor web con NGINX
1. Descargá la imagen:
docker pull nginx
2. Ejecutá el contenedor en background:
docker run -d -p 8080:80 --name web-nginx nginx
-d
: Modo desatendido (en segundo plano).-p 8080:80
: Expone el puerto 80 del contenedor como 8080 en tu máquina.--name
: Le da un nombre personalizado al contenedor.
3. Verificá que funcione
Abrí tu navegador y entrá en http://localhost:8080 🚀 ¡Deberías ver la página por defecto de NGINX!
🔄 Ciclo de vida del contenedor
Estado | Qué significa |
---|---|
created | El contenedor fue creado |
running | Está ejecutándose activamente |
paused | Está suspendido |
exited | Finalizó su ejecución |
🧰 Comandos esenciales para gestión de contenedores
📋 Ver contenedores en ejecución:
docker ps
📋 Ver todos (activos e inactivos):
docker ps -a
⛔ Detener un contenedor:
docker stop web-nginx
🗑️ Eliminar un contenedor:
docker rm web-nginx
🧽 Eliminar todos los contenedores detenidos:
docker container prune
🧪 Contenedores interactivos
Podés correr un contenedor tipo Ubuntu y explorar desde dentro:
docker run -it --name contenedor1 ubuntu bash
-it
: Te permite interactuar como si fuera una terminal.--name
: Le asignás un nombre.ubuntu
: Imagen base.bash
: Ejecutás la shell bash.
Para salir, escribí exit
.
🔁 Para volver a entrar después de salir:
docker start contenedor1
docker attach contenedor1
O ejecutar un comando directo:
docker exec contenedor1 ls -al
🔍 Inspeccionar un contenedor
docker inspect contenedor1
Te devuelve información detallada en formato JSON:
- ID
- Red y puertos
- Entrypoint
- Variables de entorno
- Configuración de volúmenes
✅ Tarea del Día
- Ejecutá tu primer contenedor con
hello-world
. - Probá NGINX en
localhost:8080
. - Usá
docker ps
,stop
,rm
,exec
,inspect
. - Explorá un contenedor interactivo con
ubuntu
. - Compartí una captura de tu navegador con NGINX corriendo o terminal con
hello-world
OK en el grupo 💬.
🔁 Tarea extra: Explorá el historial de imágenes
docker history nginx
📌 Esto te va a mostrar cómo se construyó esa imagen capa por capa.
🚀 Tarea del Día extra: ¡Tu Primer Sitio Web en un Contenedor!
🧪 Objetivo
Crear un contenedor Docker con NGINX que sirva una web estática personalizada desde una carpeta externa, accesible en:
📍 http://localhost:9999
📋 Instrucciones paso a paso
- Correr un contenedor llamado
bootcamp-web
:
docker run -d --name bootcamp-web -p 9999:80 nginx
- Clonar el repositorio con la web:
git clone -b devops-simple-web https://github.com/roxsross/devops-static-web.git
- Copiar el contenido al contenedor:
docker cp devops-static-web/bootcamp-web/. bootcamp-web:/usr/share/nginx/html/
- Verificar que los archivos estén copiados:
docker exec bootcamp-web ls /usr/share/nginx/html
- Acceder al sitio en tu navegador:
Abrí: http://localhost:9999
✅ Resultado Esperado
Deberías ver en pantalla una web estática servida por tu contenedor bootcamp-web
usando NGINX.
🎉 ¡Felicitaciones! Estás dominando los contenedores.
💡 Tip de Roxs
“Un contenedor no es solo para testear, ¡también puede ser tu primer servidor web real! Practicar con cosas que podés ver y tocar motiva el doble 🚀”
📚 Recursos recomendados
Usá el hashtag #DevOpsConRoxs o compartilo en el canal de la comunidad. 🎯