Una de las mayores dudas cuando empiezas con Docker es entender exactamente para qué sirve y qué utilidad real tiene en tu día a día.
La teoría está muy bien, pero la mejor forma de entenderlo es viéndolo en acción con un ejemplo práctico.
Por eso, en este artículo vamos a hacer la casa por el tejado, e intentar ver Docker en funcoinamiento, sin instalar nada en tu ordenador.
En lugar de mandarte a páginas externas, que empiezar a instalar cosas, he puesto interactivos simulados en este artículo.
Imitando el comportamiento de un entorno Docker real, para que puedas verlo funcionando, sin tener que instalar nada. ¡Con un solo comando!
El clásico Hola Mundo
Vamos a empezar con lo básico para comprobar que todo funciona, imprimiendo un Hola Mundo en el terminal.
Imagina que esto es la terminal de tu ordenador, con Docker instalado (haz clic en “Ejecutar”):
Verás que nuestro Docker simulado:
Dice que no encuentra la imagen localmente.
Entonces la descarga, y te responde con un mensaje de texto explicándote lo que ha pasado.
Muestra Hola Mundo en tu consola.
Bien, funciona. Es la forma habitual de que Docker está instalado correctamente en el sistema.
Pero seamos sinceros: esto no impresiona a nadie. Vamos a por algo real y útil.
Levantando un Servidor Web en 3 segundos
Ahora la cosa se pone interesante. Imagina que necesitas un servidor web Nginx para alojar una página estática.
Si lo hicieras a la antigua usanza, tendrías que:
- Buscar cómo instalar Nginx en tu distribución Linux.
- Ejecutar
apt-get install nginxoyum install... - Configurar los permisos.
- Iniciar el servicio.
- Rezar para que no choque con otro servicio en el puerto 80.
Con Docker, lo hacemos así (dale a “Ejecutar”).
¡Felicidades! Acabas de desplegar un servicio web funcional, aislado y operativo en segundos.
¿Qué acaba de pasar?
Analicemos brevemente el comando que acabamos de lanzar, aunque profundizaremos en cada parte más adelante en el curso.
docker run -d -p 80:80 nginx
docker run: La orden para crear y arrancar un contenedor.nginx: Es el nombre de la Imagen. Docker ha mirado en tu máquina, ha visto que no la tenías, ha ido a Docker Hub, se ha bajado la última versión oficial de Nginx y la ha usado.-d: Le dice al contenedor que se ejecute en “segundo plano” (Detached). Si no pusiéramos esto, el servidor web bloquearía nuestra terminal.-p 80:80: Le estamos diciendo que conecte el puerto 80 de la máquina anfitriona con el puerto 80 de dentro del contenedor (Port Publishing). Es lo que nos permite ver la web desde fuera.
Limpiando el desorden
Una de las mejores cosas de Docker es lo fácil que es limpiar. Si hubieras instalado Nginx de forma nativa, desinstalarlo a veces deja residuos.
En Docker, simplemente destruimos el contenedor.
- Mira qué contenedores tienes corriendo:
Verás una línea con tu Nginx y un ID raro, tipo a1b2c3d4...
- Mata el contenedor (usando los 3 primeros caracteres del ID basta, por ejemplo
a1b):
¡Puf! El contenedor ha sido eliminado. El puerto 80 vuelve a estar libre y tu sistema está exactamente igual de limpio que antes de empezar a leer este artículo.
