Cuando estaba impartiendo la asignatura de Administración de Servidores, llegamos al tema de virtualización, y como subtema, los contenedores. Fue ahí donde comenzó una de las conversaciones más interesantes con mis estudiantes:
"¿Qué podemos crear y gestionar en un contenedor?"
"¿Y qué ya existe en el mundo de los contenedores?"
Y como cualquier amante de la tecnología, nos topamos con uno de los ejemplos más divertidos y retro: Doom. Sí, el clásico juego de los 90 que parece nunca pasar de moda. ¿Y sabes qué es lo mejor? ¡Puedes correr Doom en tu navegador directamente desde un servidor utilizando Docker!
Explorando la imagen de Doom en Docker
En Docker Hub hay una imagen llamada doom-in-docker creada por callumhoughton22. Esta imagen es especial porque no tiene la etiqueta "latest", lo que significa que siempre debes especificar un tag o versión para poder usarla. La imagen incluye todo lo necesario para ejecutar Doom en un servidor, y el resultado se despliega en el puerto que especifiques.
Comenzando con el comando básico
El primer paso para disfrutar de este clásico es ejecutar el contenedor con el siguiente comando:
docker run -p 80:8080 -d --restart unless-stopped callumhoughton22/doom-in-docker:0.1
Esto hace lo siguiente:
-d
: Ejecuta el contenedor en segundo plano.-p 80:8080
: Asigna el puerto 8080 del contenedor al puerto 80 de tu servidor.callumhoughton22/doom-in-docker:0.1
: Especifica la imagen y el tag a utilizar.
Tras ejecutar este comando, puedes abrir tu navegador en la dirección http://<IP-del-servidor>
y listo: ¡Doom estará corriendo!
Simplificando con Docker Compose
Para hacer esto aún más práctico, puedes crear un archivo docker-compose.yml
que contenga la configuración. Este es un ejemplo:
services:
doom:
image: callumhoughton22/doom-in-docker:0.1
ports:
- 80:8080
restart: unless-stopped
Una vez creado este archivo, simplemente ejecuta:
docker-compose up -d
Este método es especialmente útil si planeas mantener tu instancia de Doom en ejecución a largo plazo o si quieres integrarlo como parte de un stack más complejo.
Doom en tu navegador
El resultado es mágico: una versión completamente jugable de Doom corriendo en el navegador, listo para momentos de nostalgia y diversión. Solo necesitas la IP del servidor y el puerto que hayas configurado en tu red local o si tienes una ip pública desde cualquier lugar.
Doom en dispositivos inusuales
Una de las cosas más fascinantes de este juego es la cantidad de dispositivos poco comunes en los que la comunidad ha logrado hacerlo funcionar. Aquí algunos ejemplos asombrosos:
- Una calculadora gráfica TI-84: Doom en pantalla monocromática y controlado por las teclas de la calculadora.
- Un test de embarazo electrónico: Con una pequeña pantalla, alguien reemplazó su hardware para correr una versión de Doom.
- Un cajero automático: Desde las opciones de retiro de dinero hasta disparar en Doom con la pantalla táctil.
- Un panel de luces inteligentes: Donde cada LED representa un píxel del juego.
- Un reloj de Apple Watch: Llevando Doom a la muñeca con controles táctiles minúsculos.
La creatividad no tiene límites cuando se trata de correr Doom, y Docker es una manera más de unirse a esta tradición geek.
Mi propia experiencia
Si alguna vez tengo ganas de echar una partida, puedo acceder fácilmente a Doom gracias a mi configuración personal. Si quieres verlo en acción, aquí te dejo un enlace para probarlo directamente desde tu navegador: Mi servidor de Doom.
Explorar contenedores no siempre tiene que ser serio y complicado. Con proyectos como doom-in-docker, puedes aprender mientras te diviertes. Este tipo de ejemplos hacen que el aprendizaje de Docker sea mucho más ameno y entretenido.
¡Anímate a probarlo y revivir la nostalgia de los 90 en tu navegador! 🚀