¿Cómo configurar un entorno de prueba con Terraform y Docker?
Explorar nuevas herramientas tecnológicas puede ser un reto, pero también una gran oportunidad para mejorar nuestras habilidades. En este caso, aprenderemos a configurar un entorno de prueba con Terraform y Docker, dos de las herramientas más empleadas en DevOps. Terraform nos permite gestionar infraestructura como código, mientras que Docker facilita la creación, despliegue y ejecución de aplicaciones en contenedores.
¿Cómo empezar con Terraform en Docker?
Para iniciar, dirígete a la página de instalación de Terraform. Allí encontrarás un tutorial de inicio rápido que puedes seguir para familiarizarte con la sintaxis y funciones básicas. Asegúrate de seleccionar tu sistema operativo. En este caso, seleccionaremos el motor Docker para Linux.
Crea un directorio de trabajo: Inicia por crear un nuevo folder. Puedes hacerlo ejecutando el siguiente comando en tu terminal de Linux:
mkdir Learn-Terraform-Docker-Container
Accede al directorio: Mueve tu terminal al directorio creado:
cd Learn-Terraform-Docker-Container
Configura Visual Studio Code: Abre Visual Studio Code desde el directorio donde te encuentras para facilitar la edición de archivos:
code .
¿Cómo crear y configurar tu primer archivo de Terraform?
Una vez dentro del entorno de Visual Studio Code, es momento de crear tu primer archivo Terraform, el main.tf, utilizando los recursos que el tutorial proporciona.
Crea el archivo main.tf:
Dentro de Visual Studio Code, crea un archivo llamado main.tf.
Copia y pega el contenido proporcionado por el tutorial en este archivo.
Entiende la sintaxis: Aunque no es necesario comprender completamente la sintaxis desde el principio, el lenguaje HCL (HashiCorp Configuration Language) asemeja un lenguaje similar a JSON pero más simplificado. Es importante que Visual Studio Code no muestre errores sintácticos para proseguir.
¿Qué extensiones de Visual Studio Code necesitas?
Para optimizar tu experiencia en Terraform, hay dos extensiones recomendadas que facilitan la identificación y solución de problemas dentro del código.
HashiCorp Terraform: Esta es la extensión oficial de HashiCorp, esencial para cualquier trabajo con Terraform al aportar un realce de sintaxis preciso.
Azure Terraform de Microsoft: Esta extensión es particularmente útil si planeas desplegar recursos en Azure, ya que detecta problemas específicos relacionados con la infraestructura en la nube de Microsoft.
¿Cómo aprovechar las extensiones en tu código Terraform?
Una vez instaladas, las extensiones no solo mejoran la legibilidad del código al resaltar diferentes bloques, propiedades y variables, sino que también ofrecen ayudan al detectar errores comunes y aseguran el buen funcionamiento antes de proceder con las implementaciones.
Tener estas extensiones configuradas no es obligatorio, pero definitivamente proporcionan comodidad y eficiencia al trabajar con Terraform. Te animamos a que las integres a tu flujo de trabajo para una experiencia mucho más fluida y divertida al incursionar en el mundo de la infraestructura como código. ¡Sigue explorando y aprendiendo más con Terraform!
Tocaria luego de copiar el codigo como bien menciona el prof, y luego de las extensiones. podria seguir la parte de formatear y validar la configuracion:
terraform fmt
terraform validate
y luego aplicarla:
terraform apply
Esto va a levantar un contenedor de docker que vemos en el puerto 8000 de localhost en el browser.
tambien lo miramos con:
🚀 Primeros pasos con Terraform y Azure: Una introducción práctica
Terraform es una de las herramientas más potentes para gestionar infraestructura en la nube de manera declarativa. En esta lección se explica cómo dar los primeros pasos con Terraform sin necesidad de desplegar directamente en Azure, aprovechando un tutorial rápido con Docker y configurando el entorno en Visual Studio Code para un flujo de trabajo más cómodo y productivo.
🧩 Una primera prueba con Terraform sin Azure
La primera prueba no consiste en desplegar recursos en la nube, sino en entender cómo funciona Terraform y su sintaxis:
Se utiliza el tutorial oficial de Terraform disponible en la página de instalación.
En este caso, se selecciona la opción Docker para Linux, lo que permite experimentar con Terraform sin necesidad de conectar con Azure o configurar cuentas en la nube.
👉 Ejemplo: Crear un contenedor Docker básico mediante Terraform para probar la sintaxis y el flujo de trabajo.
Este enfoque funciona como una puerta de entrada segura para conocer el funcionamiento de Terraform antes de dar el salto a proyectos más complejos en Azure.
📂 Preparación del entorno de trabajo
El tutorial guía paso a paso en la preparación del entorno:
Crear un directorio de trabajo: Learn Terraform Docker Container.
Acceder a ese directorio desde la terminal (cd Learn Terraform).
Inicializar el archivo principal de Terraform: main.tf.
Aunque el tutorial propone crearlo manualmente, se recomienda abrir el directorio en Visual Studio Code con:
code . → abre el editor en la ubicación correcta.
Desde allí, se crea el archivo main.tf, donde se escribirá la configuración inicial.
Esto ayuda a mantener organizado el proyecto y aprovechar las funcionalidades del editor.
📝 Sintaxis de Terraform: HCL en acción
Terraform utiliza HCL (HashiCorp Configuration Language), un lenguaje declarativo que recuerda a JSON, pero más limpio y sin comillas excesivas.
Características clave:
Estructura jerárquica de bloques y propiedades.
Lectura sencilla y clara para definir recursos.
Fácilmente reconocible en editores modernos gracias al resaltado de sintaxis.
👉 Ejemplo hipotético:
Un bloque resource "docker_container" define un contenedor con su imagen, puertos y nombre, todo expresado en una estructura simple y clara.
🎨 Extensiones recomendadas para Visual Studio Code
Para mejorar la experiencia en el desarrollo con Terraform dentro de VS Code, se destacan dos extensiones esenciales:
Terraform by HashiCorp 🛠️
Extensión oficial.
Proporciona reconocimiento de sintaxis y estructura básica del lenguaje.
Terraform by Microsoft ☁️
Especialmente útil si trabajas con Azure.
No solo resalta la sintaxis, también detecta errores en configuraciones relacionadas con Azure.
Beneficios de instalarlas:
Resaltado de colores que hace más legible cada bloque y propiedad.
Identificación temprana de errores antes de desplegar.
Mayor comodidad y productividad al escribir código.
👉 Recomendación práctica: Tener ambas instaladas. No son obligatorias, pero simplifican enormemente el trabajo diario con Terraform.
✅ Conclusiones y próximos pasos
Este ejercicio demuestra que:
Es posible empezar con Terraform sin necesidad de usar la nube directamente, lo que reduce complejidad inicial.
Preparar el entorno con directorios organizados y VS Code mejora la eficiencia del flujo de trabajo.
Instalar extensiones de HashiCorp y Microsoft potencia la productividad y reduce errores en despliegues reales.
🔑 Mensaje final: Dominar Terraform comienza por entender su sintaxis y entorno de trabajo. Una vez cómodo con lo básico, el siguiente paso natural es aplicar estas mismas prácticas en infraestructuras reales en Azure, donde la verdadera magia de IaC cobra vida.