Guía Definitiva de Docker: Qué es, Cómo Funciona y Cómo Empezar desde Cero

Guía Definitiva de Docker: Qué es, Cómo Funciona y Cómo Empezar desde Cero

Si estás metido en el mundo del desarrollo de software, la administración de sistemas o la tecnología en general, seguro has escuchado la palabra Docker en todos lados. Y no es para menos: esta herramienta cambió por completo la forma en que creamos, probamos y desplegamos aplicaciones.

En esta guía vas a aprender, sin rodeos, qué es Docker, por qué es tan popular y cuáles son los comandos esenciales que necesitas para dominarlo.

¿Qué es Docker y cómo funciona?

Para entender Docker, la mejor analogía es pensar en los contenedores de carga de los barcos comerciales.

Antes de que existieran los contenedores estandarizados, transportar mercancías en barcos era un dolor de cabeza: las cajas se movían, los líquidos se derramaban y los productos pesados aplastaban a los delicados. Con la llegada del contenedor estándar, todo cambió. No importa si dentro hay miles de zapatos, comida o un automóvil de lujo; el contenedor siempre mide lo mismo, se sella y se puede montar en cualquier barco del mundo.

Docker hace exactamente eso, pero con el software.

En lugar de pelearte con el típico problema de «en mi computadora sí funciona, pero en el servidor da error», Docker te permite meter tu aplicación, sus librerías, la base de datos y sus configuraciones dentro de un «contenedor» de software. Ese contenedor va a correr exactamente igual en tu laptop con Linux, en la máquina de un compañero de trabajo o en un servidor en la nube en la otra punta del mundo.

Contenedores vs. Máquinas Virtuales

Es común confundir un contenedor con una Máquina Virtual (VM), pero no son lo mismo:

  • Máquina Virtual: Es pesada. Necesita simular hardware virtual y arrancar un sistema operativo completo dentro de tu PC, consumiendo gigabytes de RAM y disco duro.
  • Contenedor Docker: Es ultra ligero. No necesita un sistema operativo propio; comparte el núcleo (kernel) del sistema operativo de tu computadora. Solo empaqueta lo mínimo necesario para que tu app funcione, por lo que arranca en cuestión de segundos.

Los 3 Pilares de Docker

Para trabajar con Docker, solo necesitas entender tres conceptos básicos:

  1. La Imagen (La receta): Es una plantilla estática de «solo lectura» que contiene el sistema operativo base y todo el software instalado listo para usar. Por ejemplo, existe la imagen oficial de WordPress, la de Python o la de MySQL.
  2. El Contenedor (El pastel terminado): Es la imagen cobrando vida. Cuando ejecutas una imagen, se crea el contenedor en tiempo real. Puedes encenderlo, apagarlo, modificarlo o destruirlo sin alterar la imagen original.
  3. Docker Hub (El supermercado): Es una plataforma en internet (un registro público) donde empresas y programadores de todo el mundo suben sus imágenes oficiales. Si necesitas un servidor web o una base de datos, vas a Docker Hub y te lo descargas con un solo comando.

Cómo instalar Docker en Linux (Sistemas basados en Ubuntu / Mint)

Si usas un entorno Linux, la forma más limpia y recomendada de instalar el motor oficial de Docker es a través de la terminal usando estos comandos:

Bash

# 1. Actualizar los paquetes e instalar herramientas de seguridad
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

# 2. Añadir la clave oficial de Docker
sudo fold -s /etc/apt/keyrings/gpg | gpg --dearmor | sudo tee /etc/apt/keyrings/docker.gpg > /dev/null

# 3. Configurar el repositorio oficial en tu sistema
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4. Instalar Docker y Docker Compose
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

💡 Tip Profesional: Para evitar tener que escribir sudo antes de cada comando de Docker, añade tu usuario al grupo de Docker con este comando y luego reinicia tu sesión: sudo usermod -aG docker $USER

Guía de Comandos Esenciales (Tu «Machete» de Docker)

Aquí tienes la lista de los comandos que vas a usar el 90% del tiempo en tu día a día:

  • docker pull [nombre_imagen] -> Descarga una imagen desde Docker Hub a tu computadora.
  • docker run -d -p 80:80 --name mi_web nginx -> Crea y enciende un contenedor basado en la imagen de Nginx. El parámetro -d hace que corra en segundo plano y -p mapea los puertos.
  • docker ps -> Muestra la lista de todos los contenedores que están activos y corriendo en este momento.
  • docker ps -a -> Muestra todos los contenedores, incluidos los que están apagados o dieron error.
  • docker stop [nombre_o_id] -> Apaga un contenedor que esté corriendo.
  • docker rm [nombre_o_id] -> Borra un contenedor de forma permanente (no pierdes la imagen, solo el contenedor).
  • docker images -> Lista todas las imágenes que tienes descargadas en tu disco duro.
  • docker rmi [id_imagen] -> Elimina una imagen para liberar espacio en tu disco.

El Siguiente Nivel: Docker Compose

Cuando un proyecto crece, suele necesitar más de un contenedor. Por ejemplo, para montar un sitio web necesitas el contenedor del código (WordPress) y, de forma independiente, el contenedor de la base de datos (MySQL).

Configurar y conectar esos contenedores uno por uno a mano mediante comandos de terminal puede ser tedioso. Para solucionar esto existe Docker Compose.

A través de un archivo de texto simple llamado docker-compose.yml, puedes definir toda la estructura de tu aplicación (servidores, volúmenes de datos, contraseñas, puertos) y levantar toda tu infraestructura de golpe con un único comando:

Bash

docker compose up -d

Con Docker, la infraestructura de tus proyectos deja de ser un dolor de cabeza y se convierte en código ordenado, rápido y portátil. ¡Es hora de empezar a empaquetar tus aplicaciones!

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll to Top