En este artículo te cuento cómo es y qué temas trata el curso Docker – Guía práctica de uso para desarrolladores de Fernando Herrera, en Udemy y DevTalles. ¿Vale la pena hacerlo?
Pero antes, te voy a contar brevemente mi historia con Docker, que es lo que me llevó a tomar el curso. Tal vez te sientas identificado con lo que te voy a contar
Si no te interesa, sentite en libertad de saltar directo al review del curso de Fernando Herrera.
Contenido
Antes y después de Docker
Mucho antes de que Docker existiera y se extendiera como la herramienta que es hoy en día, los programadores básicamente nos dábamos la cabeza contra el teclado y la pantalla para levantar nuestras aplicaciones en otros ambientes.
En mi caso, como desarrollador web, pasé horas tocando archivos de Apache hasta que logré dominarlo. Pero según el cliente, capaz tenía que meterme con IIS o Nginx.
De hecho, hace ya muchos años tuve que preparar un servidor para correr una app en Java y me llevó muchos días de trabajo.
Unos años antes de que Docker se convirtiera en el Docker que conocemos ahora, ya existían algunas herramientas que se le iban pareciendo o que, al menos, apuntaban a lo mismo.
Primero, aparecieron las máquinas virtuales en las que te metías y tenías todo un entorno de trabajo diferente al tuyo, pero con el ambiente listo para ser usado. Yo odiaba las máquinas virtuales que encima, consumían muchos recursos.
Después, aparecieron herramientas como Vagrant que solucionaban todos los problemas de incompatibilidad de ambientes, trayendo nuevos problemas. Siguiendo con esta línea, surgieron otras aplicaciones como PuPHPet en PHP que te permitían manipular Vagrant de forma un poco más amigable.
Pero todo eso fue enterrado por Docker cuando finalmente se convirtió en el sistema de contenedores que es hoy.
Mis primeras peleas con Docker
Cuando empecé con Docker no me gustaba en absoluto. Me hacía acordar mucho a Vagrant. Era reemplazar algo complicado como es el manejo de servidores con algo igualmente complicado, solo que distinto.
Me pasaba seguido que quería comenzar a programar y me encontraba con un error en Docker y la jornada se convertía en resolver ese nuevo problema para luego sí, en el ratito que me iba a quedar, avanzar con mi proyecto.
No te voy a mentir. Pasé años usando Docker a las trompadas hasta que finalmente acepté la verdadera razón por la cual no me funcionaba: no sabía Docker.
Era mejor hacer un curso de una buena vez, aprender los conceptos necesarios y resolver este problema de una buena vez.
Desde que hice el curso de Docker de Fernando Herrera, empecé a tener menos problemas con Docker y a usarlo mucho más y con confianza.
Ahora sí, de qué trata el curso de Docker.
El Curso de Docker de Fernando Herrera
Este curso lo podés encontrar en la plataforma de cursos DevTalles de Fernando Herrera o si no, en Udemy. Se llama Docker – Guía práctica de uso para desarrolladores.
No es un curso para principiantes. Está pensado para desarrolladores que quieren incorporar Docker como una herramienta más a su conjunto de habilidades técnicas.
Los primeros temas del curso
Se trata de 11 secciones, de las cuales 9 tienen contenido sobre cómo se usa Docker. La duración en video es de 14 horas, lo que es bastante para un curso online, pero comparado con otros cursos de Fernando Herrera, es bastante corto.
La primera parte del curso es una introducción con algunas explicaciones básicas sobre el concepto de Docker y los contenedores. Luego, viene un primer Hola Mundo en Docker seguido de cómo usar Docker CLI, ya que en gran parte del curso, el instructor insiste en la importancia de manejarlo de esta manera. Y estoy de acuerdo con eso.
En esa primera parte se practica un poco con una imagen que es la de Postgres, pero sin un ejemplo puntual. Solamente para aprender los comandos más relevantes.
La segunda parte del curso sigue con volúmenes y redes. Se aprende qué es un volumen, cómo montarlo y qué son los bind volumes. Del mismo modo se ve como crear una red para que tus contenedores estén conectados entre sí.
Lo que sigue es quizás lo más importante de todo el curso. Cómo usar apps multi contenedores con Docker Compose. Vas a aprender a escribir estos archivos donde se agregan los contenedores que necesitás con todas sus características para que luego, mágicamente, todo ese ambiente se levante con un único comando.
A continuación, cómo crear nuevas imágenes con Dockerfile incluyendo la subida a Docker Hub.
Con estos temas, yo ya estaba contento y puede que la mayoría de los programadores que cursen también. Con esto alcanza para poder usar Docker en ambientes locales.
Sin embargo, todavía hay más para aprender de Docker.
Los temas más avanzados.
Lo que viene a continuación en el curso está vinculado al despliegue en producción. El instructor explica sobre Multi Stage Build y luego sobre Deployments y Registros, haciendo un interesante ejemplo en Digital Ocean.
Luego, el curso incluye cómo utilizar GitHub Actions para realizar construcciones automáticas, cómo utilizar nginx para una app tipo SPA y finalmente, una introducción a Kubernetes.
Eso último tal vez no tiene mucho sentido, a menos que hayas visto algo de Microservicios. Por cierto, Fernando Herrera tiene un excelente curso sobre Microservicios. Yo lo hice hace un tiempo y ya te contaré qué me pareció.
¿Vale la pena este curso?
Sí, vale la pena. Te lo recomiendo mucho.
Se aprende un montón sobre Docker, aunque me parece que lo más importante es hasta la sección 5 si tu interés es, como era el mío, vinculado a crear ambientes de desarrollo.
Docker para mí es una herramienta complementaria. A diferencia de un lenguaje de programación, no lo tengo tan presente en mi mente cuando trabajo. Es por eso que este curso de Docker me sirve también de referencia para cuando me olvido algo. Solo basta ir a la clase indicada y volverla a reproducir.
Más reviews en Crónicas Freelancer
Espero que este artículo te haya gustado.
Si vas a hacer este curso, en una parte hay que utilizar Digital Ocean, que no es un servicio gratuito. Sin embargo, te puedo referir así, te ganás crédito gratis para usar en los próximos dos meses: Seguí este enlace para obtener US$ 200 de crédito para usar en un periodo de 60 días.
Si tenés alguna duda o querés hacer algún aporte, dejame un comentario.
Te invito a que me sigas en las redes: LinkedIn, X, GitHub e Instagram. También estoy en CodeWars, plataforma que te recomiendo para practicar ejercicios de programación.
Eso es todo. Muchas gracias por tomarte el tiempo de leerme.
Hasta la próxima.
Fuente foto: