Docker es una herramienta comúnmente asociada a microservicios, casi podría apostar a que todos llegamos justo por eso, sin embargo, ganando algo de experiencia y con algo de tiempo libre podrás encontrar que Docker tiene una diversidad enorme de usos.
¡Hay muchas cosas que puedes hacer aquí! Y la verdad es que gracias a eso puedes ganar experiencia de una manera un tanto interesante. ¿Te cuento algunas de estas opciones?
El primer contenedor que yo hice fue hace 6 años y cuando lo publiqué en Docker Hub francamente no encontré ningún uso que valiera la pena. Completé mi curso sin mayor interés en lo que pudiera hacer.
Se me hizo una pérdida de tiempo enorme, sin embargo, la última noche del curso, cenando con uno de mis instructores, me dijo que la mejor manera de aprender con Docker era con un modo práctico. Y efectivamente, esa cena fue lo más valioso del curso.
Me enseñó a hacer un servidor de Minecraft. Algo que 5 años después debería volver a hacer para que ahora mi hija pudiera jugar este divertido juego conmigo en nuestro propio entorno ¡Y todo gracias a Docker! ¿Te enseño a hacer tu propio servidor? ¡Es superfácil!
Lo primero (y más importante) que debes saber es que hay dos tipos de servidores que puedes usar, básicamente dependen de la versión de Minecraft que estés utilizando. Si estás usando Minecraft para Windows o Minecraft Java. Entre ambos juegos no es posible comunicarse, así que puedes elegir la versión que estés buscando aquí.
En mi caso utilizo la versión de Bedrock, simplemente porque fue el primer Minecraft que utilicé al principio. Así que solo necesito escribir en mi terminal.
docker run -d -it -e EULA=TRUE -p 19132:19132/udp -v mc-bedrock-data:/data itzg/minecraft-bedrock-server
Con este simple comando de Docker la imagen se descargará y ejecutará en tu instalación de Docker.
¡Listo! La magia está hecha, ahora solo abre tu juego de Minecraft y selecciona la opción de Jugar, ahora, en la sección de Amigos podrás ver que tu servidor aparece como una opción disponible.
Así de simple tienes ya tu propio servidor local de Minecraft. Obviamente considera que al apagar tu equipo o simplemente detener el contenedor, entonces el servidor estaría fuera de línea, y claro, está el hecho de que por ahora el servidor solo funciona en tu red local, al igual que prácticamente cualquier otro contenedor.
Minecraft guardará un lugar muy especial para mí porque me ayudó a encontrar una manera muy rápida y útil de entender lo que Docker podría hacer. Con el paso de muchos proyectos ya encontré el enorme potencial de esta herramienta para los microservicios.
Sin embargo, más allá de los microservicios hay otros casos de uso que te podrían interesar y que son bastante útiles te cuento de algunos.
Cuando trabajas con un equipo en un mismo proyecto puede suceder que algunos miembros del equipo tengan Python 3.10 y otros la versión 3.12 o peor aún, que ni siquiera lo tengan instalado. Para colocar a todos en el mismo punto de partida puedes crear un contenedor que tenga todo lo que el proyecto necesita y será en ese contenedor en donde todos podrán trabajar exactamente en el mismo ambiente de trabajo.
Lo mejor es que si usas VS Code entonces detectará en automático el uso de este tipo de contenedores y creará el ambiente de trabajo para ti.
Hace tiempo, cuando decidí aprender a usar Go me tomó algo de tiempo instalar todo lo necesario en mi equipo de trabajo. Cuando pensé en usar Rust no me lo pensé dos veces y descargué mejor la imagen oficial. Ya con esta imagen comencé a hacer mis primeros ejercicios en menos de dos minutos. ¿Lo mejor? ¡No debí instalar absolutamente nada en mi equipo!
Hay ocasiones en donde quieres probar con un entorno diseñado para ciberseguridad pero estos entornos de trabajo siempre suelen ser muy elaborados y tardados para estar listos.
Lo peor es que puedes pasar toda una tarde para poder configurar todo tu equipo y arruinarlo todo en el primer ejercicio. ¡Es bastante frustrante! Claro, eso lo dice el primo de un amigo, a mi me salió a la primera. 😄
Docker es una de las herramientas más versátiles que puedes utilizar, quizá llegaste aquí por los microservicios, pero estoy seguro de que te puedes quedar por muchas cosas más. Entre más lo uses o explores la enorme cantidad de imágenes disponibles, estoy seguro de que más posibilidades vas a encontrar.
Puedes comenzar con todos los ejercicios que conforman el curso que preparamos para ti, es el Curso de Docker:Fundamentos.
¡Espero que no te hayas distraído con Minecraft y te diviertas mucho más con Docker!