Ing. Sistemas Computacionales

viernes, 6 de septiembre de 2024

Práctica | Desarrollar plantilla Vagrant + Ubuntu 20.40LTS + Docker + Docker-compose

septiembre 06, 2024 Creado por Victor Jesus Maximo Abundio Sin comentarios

Desarrollar plantilla Vagrant  + Ubuntu 20.40LTS + Docker + Docker-compose


Introducción

Vagrant es una herramienta que permite crear, configurar y gestionar máquinas virtuales de VirtualBox. Por otro lado, Docker es una herramienta para gestionar contenedores en entornos de desarrollo y producción, mientras que Docker-compose te permite gestionar dependencias y la orquestación de servicios. Docker y Docker-compose se complementan mutuamente. 


En este práctica vamos a crear una plantilla usando Vagrant para crear una maquina virtual con Ubuntu 20.04 LTS, y dentro de la máquina virtual se instala Docker y Docker Compose, esto será como una guía paso a paso para configurar un entorno de desarrollo eficiente y reproducible.


Ver proyecto (GitHub)



Objetivo

Esta plantilla sirve para aquellas personas que tienen pocos recursos en su maquina host, como bien se sabe Docker y Docker compose no está disponible para Windows, por lo que es necesario instalar un Subsistema de Windows para Linux (WSL) para poder usar Docker y Docker-compose, pero este consume muchos recursos en la máquina. Para intentar solventar esto creamos una máquina virtual usando Vagrant + Ubuntu 20.4LTS, que en lo particular me ha servido bastante.


Conocimientos obtenidos

Vagrant es una herramienta de software que se utiliza para crear y gestionar entornos de desarrollo virtualizados de manera sencilla y reproducible. Vagrant sirve para automatizar el proceso de creación, configuración y gestión de máquinas virtuales que funcionan como entornos de desarrollo aislados. 


Docker y Docker Compose son herramientas utilizadas en la gestión de aplicaciones basadas en contenedores. Facilitan la creación, despliegue y ejecución de aplicaciones en entornos aislados y reproducibles, mejorando la eficiencia y la consistencia en el desarrollo y la producción.


Ubuntu es una distribución del sistema operativo Linux basada en Debian, desarrollada y mantenida por Canonical Ltd.


Al desarrollar la práctica se obtiene conocimientos acerca de 

  • Vagrant   Para crear y configurar una máquina virtual.

  • Docker  Para descargar imágenes desde DockerHub

  • Docker-compose  Para complementar con Docker.

  • Git  Para crear commit, crear ramas, fusionar ramas, subir repositorio a GitHub, etc.

  • etc. 


Notas

  • La plantilla es solo una base para dockerizar o vagratizar un proyecto.

¿Cómo funciona?

Para poder simplificar las cosas, vamos a usar un repositorio github, que puedes consultarlo aquí


Estos son los pasos a seguir para poder levantar la caja de Vagrant


Paso 1)

Instalar VirtualBox, Extension_Pack para VirtualBox y Vagrant.


Paso 2)

Inicializar un nuevo caja Vagrant.


$ vagrant init  


Paso 3)


Copiar todo el contenido del archivo Vagrantfile de este repositorio, y reemplazarlo por el archivo generado por el paso anterior.


Paso 4)


Descargar los archivos script shell para linux llamados, setup.sh y vagrant.sh. Y colocarlos en la carpeta raíz del proyecto junto con el archivo Vagrantfile.


Paso 5)


Ejecuta el siguiente comando para arrancar la caja de vagrant. (Esto dura aprox. 15 min. la primera vez)


$ vagrant up


Paso 6)

Entrar a la caja de vagrant


$ vagrant ssh


Paso 7) (Opcional)

Instalar NVM, instalar la última versión de NodeJS y crear alias para Docker y Docker-compose


$ cd ~/workspace

$ dos2unix ./setup.sh

$ ./setup.sh

$ source ~/.bashrc


Paso 8) (Opcional)

Verificar toda la instalación de NodeJS, NVM, Docker, Docker-compose, Imagenes Docker, alias


$ node --version

$ nvm --version

$ docker --version

$ docker-compose --version

$ docker images

$ alias


Vista previas






0 comentarios:

Publicar un comentario