Píldora TAI XXXI; Comandos Esenciales de Docker para Desarrolladores

🚀 Docker: Contenedores para el Siglo XXI

Docker es una plataforma que permite crear, distribuir y ejecutar aplicaciones en contenedores. Los contenedores son entornos ligeros y portátiles que incluyen todo lo necesario para ejecutar una aplicación: código, librerías y dependencias.

🔥 ¿Por qué usar Docker?

Portabilidad: Funciona igual en cualquier sistema.
Aislamiento: Cada contenedor es independiente.
Escalabilidad: Fácil de desplegar en múltiples servidores.
Eficiencia: Usa menos recursos que las máquinas virtuales.


🏗️ Componentes clave de Docker

📦 1. Imagen

Una imagen es una plantilla con todo lo necesario para ejecutar una aplicación. Es inmutable y se usa para crear contenedores.
🔹 Se almacenan en Docker Hub o registros privados.

🚢 2. Contenedor

Es una instancia en ejecución de una imagen. Es como si fuera un miniordenador aislado dentro de tu sistema.

🛳️ 3. Dockerfile

Archivo de texto donde se define cómo construir una imagen.

Ejemplo de un Dockerfile básico para una app en Node.js:

FROM node:18
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "app.js"]
EXPOSE 3000

📂 4. Volumen

Permiten persistir datos fuera de los contenedores.

🕸️ 5. Red

Docker crea redes virtuales para que los contenedores se comuniquen entre sí o con el exterior.


⚡ Comandos esenciales de Docker

🛠 Gestión de imágenes

pull <imagen>  # Descargar imagen
docker images # Listar imágenes
docker rmi <imagen> # Eliminar imagen

🚀 Gestión de contenedores

run -d -p 8080:80 --name miweb nginx  # Correr un contenedor de Nginx
docker ps # Ver contenedores en ejecución
docker stop <id> # Detener contenedor
docker rm <id> # Eliminar contenedor

📂 Gestión de volúmenes

volume create mis-datos  # Crear volumen
docker run -v mis-datos:/data nginx # Usar volumen

🕸 Gestión de redes

network create mi-red  # Crear red
docker network ls # Listar redes

🔄 Docker Compose (para múltiples contenedores)
Archivo docker-compose.yml:

yaml version: '3'
services:
web:
image: nginx
ports:
- "8080:80"

Comandos:

-compose up -d  # Levantar servicios
docker-compose down # Apagar servicios

🎯 Conclusión

Docker facilita la creación y despliegue de aplicaciones de forma rápida y eficiente. Aprender sus conceptos clave y comandos básicos te permitirá optimizar tus desarrollos y despliegues. 🚀

🔹 ¿Tienes alguna duda? Déjala en los comentarios.

Deja un comentario