Vagrant es una herramienta de línea de comandos de código abierto para crear y administrar entornos de máquinas virtuales. De forma predeterminada, Vagrant puede aprovisionar máquinas sobre VirtualBox, Hyper-V. y Docker. Otros proveedores como Libvirt (KVM), VMware y AWS se pueden instalar a través del sistema de complemento Vagrant.

Por lo general, los desarrolladores utilizan Vagrant para configurar un entorno de desarrollo que coincida con la producción.

Este tutorial cubre la instalación de Vagrant en Debian 10, Buster. Usaremos el proveedor VirtualBox, que es el proveedor predeterminado para Vagrant.

requisitos previos

Asegúrese de cumplir con los siguientes requisitos previos antes de comenzar la instalación:

  • Inicie sesión como root o usuario con privilegios sudo .
  • Tener un VirtualBox instalado.

Instalación de Vagrant en Debian

El paquete Vagrant disponible en los repositorios estándar de Debian está un poco desactualizado. La última versión de Vagrant se puede descargar como archivo deb desde el sitio oficial de Vagrant.

Al momento de escribir este artículo, la última versión estable de Vagrant es la versión 2.2.6. Antes de continuar con los siguientes pasos, visite la página de descarga de Vagrant para verificar si hay una versión más nueva disponible.

Descargue el paquete Vagrant con el siguiente curlcomando :

curl -O https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.deb

Una vez .debdescargado el archivo, instálelo escribiendo:

sudo apt updatesudo apt install ./vagrant_2.2.6_x86_64.deb

Para verificar que la instalación se haya realizado correctamente, ejecute el siguiente comando que imprime la versión de Vagrant:

vagrant --version

La salida debería ser algo como esto:

Vagrant 2.2.6

¡Eso es todo! Ha instalado con éxito Vagrant en su sistema Debian y puede comenzar a usarlo.

Primeros pasos con Vagrant

En esta sección, le mostraremos cómo crear un entorno de desarrollo.

El primer paso es crear un directorio que será el directorio raíz del proyecto y contendrá el archivo Vagrantfile:

mkdir ~/my-first-vagrant-project

Vagrantfile es un archivo de Ruby que describe cómo se configurará la máquina virtual cuando se cree.

El siguiente paso es inicializar un nuevo Vagrantfile usando el vagrant initcomando y especificar el cuadro que desea usar.

Los cuadros son el formato de paquete para los entornos de Vagrant y son específicos del proveedor. Puede encontrar una lista de cajas Vagrant disponibles públicamente en la página del catálogo de cajas Vagrant.

En este ejemplo, usaremos el centos/7cuadro.

Navegue al directorio del proyecto e inicialice un nuevo Vagrantfile:

cd ~/my-first-vagrant-projectvagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Puede abrir Vagrantfile con su editor de texto, leer los comentarios y hacer ajustes según sus necesidades.

Ejecute el vagrant upcomando para crear y configurar la máquina virtual como se define en Vagrantfile:

vagrant up
==> default: Configuring and enabling network interfaces...
    default: SSH address: 192.168.121.27:22
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Rsyncing folder: /home/linuxize/Vagrant/my-first-vagrant-project/ => /vagrant

Vagrant monta el directorio del proyecto /vagranten la máquina virtual. Esto le permite trabajar en los archivos del proyecto en su máquina host.

Para ssh en la máquina virtual, ejecute:

vagrant ssh

Puede detener la máquina virtual con el siguiente comando:

vagrant halt

El siguiente comando detiene la máquina en ejecución y destruye todos los recursos que se crearon durante la creación de la máquina:

vagrant destroy

Conclusión

Le mostramos cómo instalar Vagrant en Debian 10 y cómo crear un entorno de desarrollo básico.

Para obtener más información sobre Vagrant, visite la página de documentación de Vagrant.

Si tiene alguna pregunta, por favor deje un comentario a continuación.