Dominando Docker: De Cero a Hola Mundo
Dominando Docker: De Cero a Hola Mundo
¡Qué más, parceros! Si están metidos en el mundo del desarrollo, tarde o temprano se van a estrellar con la famosa frase: “En mi máquina sí funciona”. Bueno, Docker llegó para acabar con ese drama de una vez por todas.
En este post vamos a ir al grano: qué es, cómo se instala y cómo empezar a tirar comandos como un teso.
¿Qué es Docker y por qué debería importarte?
Imagina que quieres mandar una arepa rellena a otro país. No mandas los ingredientes sueltos (harina, queso, carne) y esperas que ellos sepan cómo armarla y que tengan el mismo fogón. Tú mandas la arepa ya lista en un contenedor térmico que mantiene la temperatura y el sabor exacto.
Eso es Docker. Empaqueta tu código, las librerías, la versión de Node, las variables de entorno y todo lo que necesita tu app para correr en una “caja” llamada Contenedor.
Paso 1: Instalación (El Setup del Guerrero)
Para empezar a camellar, necesitas tener el motor instalado. Dependiendo de tu sistema, la vuelta cambia un poco:
En Ubuntu/Linux (Nuestro territorio)
La forma más limpia es usar el script oficial:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Para no tener que usar sudo cada vez, agrega tu usuario al grupo docker:
sudo usermod -aG docker $USER
(Recuerda cerrar sesión y volver a entrar para que aplique).
En Windows/Mac
Simplemente descarga Docker Desktop. Es una aplicación visual que te monta todo lo necesario, incluyendo una pequeña máquina virtual de Linux para que todo ruede melo.
Paso 2: Tu primer “Hola Mundo”
Una vez instalado, vamos a verificar que todo esté en orden. Corre este comando en tu terminal:
docker run hello-world
¿Qué pasó por debajo?
- Docker buscó una imagen llamada
hello-worldlocalmente. - Como no la encontró, se fue al Docker Hub (la biblioteca pública de imágenes).
- Descargó la imagen, creó un contenedor, lo ejecutó y te mostró el mensaje de éxito.
Paso 3: Comandos que debes tatuarte
Aquí te dejo la “chuleta” de los comandos que vas a usar el 90% del tiempo:
- Listar contenedores activos:
docker ps - Listar TODOS los contenedores (incluidos los parados):
docker ps -a - Listar imágenes descargadas:
docker images - Detener un contenedor:
docker stop <id_o_nombre> - Eliminar un contenedor:
docker rm <id_o_nombre> - Eliminar una imagen:
docker rmi <id_imagen>
Conclusión
Docker es la base de la ingeniería moderna. Si quieres escalar tus proyectos o montar infraestructuras complejas (como el cluster de 3 equipos que estamos armando para Majo), tienes que dominar los contenedores.
¡Hágale pues! Empieza a jugar con imágenes de Node, de bases de datos o de Nginx. El límite es tu imaginación. 🦾🔥🚀