Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save alexgs922/783ee78c5232db03c59cbdd1b5d1939b to your computer and use it in GitHub Desktop.
Save alexgs922/783ee78c5232db03c59cbdd1b5d1939b to your computer and use it in GitHub Desktop.
Crear un entorno virtual con Vagrant

##Instalar Dependencias

##Agregando un imágenes

Las imágenes pueden ser reutilizables por varios entornos, cada que se crea un entorno la imagen base es clonada.

Vagrant cuenta con un catálogo de imágenes disponibles desde Vagrant Cloud

Para agregar una imagen de CentOS 6.5 ejecutar:

vagrant box add puphpet/centos65-x64

##Crear un entorno

  • Crear el directorio para el entorno:
mkdir vm-centos65 && cd $_
  • Crear el archivo de configuración Vagrantfile con el siguiente contenido:
Vagrant.configure("2") do |config|
    config.vm.box = "puphpet/centos65-x64"
end

"puphpet/centos65-x64" es el nombre de la imagen que se agrego, si la imagen que no se ha agregado Vagrant la descargara y después la clonara para poderla utilizar en el entorno.

##Iniciar el entorno Vagrant

Para iniciar un entorno Vagrant ejecutar:

vagrant up

Para demostrar que se ha creado el entorno se puede entrar por SSH:

vagrant ssh

###Comandos basicos

vagrant <command>
Comando Descripción
suspend Suspende la maquina virtual.
resume Reanuda la maquina virtual suspendida por el comando suspend.
halt Apagar la maquina virtual.
reload Equivale a ejecutar el comando halt seguido del comando up, generalmente se usa para que surgan efecto los cambios en el archivo Vagrantfile.
destroy Detiene la maquina virtual y elimina todos los recursos.

##Mejorando la configuración del entorno

###Carpetas compartidas

Vagrant por default comparte el directorio /vagrant con el host que contiene el archivo Vagrantfile, para compartir otras carpetas agregar lo siguiente al archvo Vagrantfile:

config.vm.synced_folder "/home/user/server", "/var/www"

El primer parámetro es la ruta del directorio en el host que se va a compartir con el entorno. Si la ruta es relativa, es relativa a la raíz del entorno. El segundo parámetro debe ser una ruta absoluta de donde compartir la carpeta en el entorno. Se creará esta carpeta (de forma recursiva) si no existe.

###Ajustes de red

  • Ajustando la ip del entorno en una red privada:
config.vm.network "private_network", ip: "192.168.50.100"

###Configuración virtualbox

VBoxManage es una utilidad que se puede utilizar para hacer modificaciones a máquinas virtuales desde la línea de comandos.

Vagrant expone una manera de llamar a cualquier comando VBoxManage justo antes de arrancar la máquina.

  • Ajustando la cantidad de memoria RAM y el número de CPUs virtuales:
config.vm.provider "virtualbox" do |vb|
    vb.memory = 1024
    vb.cpus = 1
end

Referencias

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment