|
¿Qué es Vagrant?
Gestor de virtualización que permite la manipulación de máquinas virtuales (crearlas, configurarlas, modificarlas, borrarlas...).
|
|
¿Dónde puedo instalar Vagrant?
Desde la página oficial
|
|
¿Requisitos?
Activar Hyper-V y TPM2.0 en el equipo (añadiendo Vagrand al PATH de Windows con el comando export en Ubuntu)
|
|
Boxes:
|
|
¿Qué es una BOX?
Un paquete que contiene la imagen de una máquina virtual.
|
|
¿Dónde puedo descargar Boxes?
En la página oficial (https://app.vagrantup.com/boxes/search?
|
|
¿Dónde se guardan las boxes?
/home/usuario Unix por defecto
|
|
C:\Users\usuario en Windows por defecto
|
|
Entornos/escenarios:
|
|
¿Qué son?
Son entornos de trabajo que nos permiten crear una máquina virtual con sus respectivas configuraciones.
|
|
¿Cómo funcionan?
Cada uno tiene asociano una máquina por defecto y un archivo de configuración
|
|
¿Cuál es el archivo de configuración?
Vagrantfile, archivo plano (sin extensión) con las configuraciones de la máquina virtual como:
|
|
El proveedor (virtualbox), la imagen sobre la que está realizada (como ubuntu), configuraciones de red... Se crea al usar vagrant init
|
|
Archivo de configuración:
|
|
config.vm
Espacio de nombres por los que vienen definidos los parámetros que definen la configuración de la máquina virtual
|
|
Se crean con dos usuarios: root y vagrant
|
|
Tiene una red NAT por defecto eth0 compartida con VirtualBox (aislada de las demás máquinas). SIempre está activa
|
|
Es recomendable configurar rsync (se instala automáticamente) para sincronizar el directorio de la máquina en el host con el correspondiente directiorio de la máquina virtual.
|
|
Estructura inicial:
|
1 Vagrant.configure("2") do | config |
|
|
Imagen del SO (Box):
|
2 config.vm.box = "ubuntu/trusty64"
|
|
Nombre de la máquina (hostname)
|
3 config.vm.hostname = "Ubuntu"
|
|
Carpeta sincronizada (synced_folder)
|
4 config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
|
|
Tipo de red (network)
|
5 config.vm.network "<private/public>_network/bridge/hostonly", type="dhcp", ip:"192.168.33.10"
|
|
indicando la interfaz añadiriamos:
|
:bridge=> "eth0"
|
|
Redirección de puertos:
|
6 config.vm.network "forwarded_port", guest: 80, host: 8080
|
|
Configuración de proveedor:
|
7 config.vm.provider "virtualbox" do |vb|
|
|
Memoria RAM (memory) (en MB):
|
8 vb.memory = "1024"
|
|
Usar interfaz gráfica (gui):
|
9 vb.gui = "<true/false>"
|
|
Número de nucleos de CPU (cpus):
|
10 vb.cpus = "1"
|
|
Importante finalizar los boques:
|
11 end
|
|
12 end
|
|
Versión
|
vagrant -v
|
|
Ayuda de sintaxis y comandos comunes
|
vagrant -h
|
|
Ayuda de un comando específico
|
vagrant <comando> -h
|
|
Lista de comandos
|
vagrant list-commands
|
|
Boxes:
|
|
|
Añadir una box al entorno:
|
vagrant box add <usuario>/<nombreSO>1
|
|
Listar las boxes:
|
vagrant box list
|
|
Eliminar una box:
|
vagrant box remove <usuario>/<nombreSO>
|
|
Entornos - Iniciar
|
|
|
Crear un directorio de trabajo (carpeta)
|
mkdir <nombreDirectorio>
|
|
Inicializar la box como por defecto en el entorno & crear Vagrantfile (desplegar entorno):
|
vagrant init
|
|
Para hacerlo con una box específica
|
vagrant init <usuario/nombreSO>
|
|
Archivo de configuración sin comentarios:
|
vagrant init -m
|
|
Guardar cambios/actualizar o recargar el archivo de configuración del entorno:
|
vagrant reload
|
|
Arrancar escenarios/etornos (la/s máquina/s)
|
vagrant up
|
|
Entornos - Acceso
|
|
|
Acceder la máquina del entorno:
|
vagrant ssh
|
|
para ver la red a la que pertenece (dentro de la máquina):
|
ifconfig
|
|
si no estamos en el directorio del entorno:
|
vagrant ssh <nombreMaquina>
|
|
Acceder a la máquina con clave privada
|
ssh -i .vagrant/machines/default/virtualbox/private_key vagrant@iphost (?)
|
|
Enviar un comando a la máquina
|
vagrant ssh -C '<comando>'
|
|
Ver configuración de SSH
|
vagrant ssh-config
|
|
Apagar la máquina:
|
vagrant halt
|
|
Encender/levantar la máquina
|
vagrant up
|
|
Suspender la máquina:
|
vagrant suspend
|
|
Destruir la máquina:
|
vagrant destroy
|
|
Ver el estado de la máquina:
|
vagrant status
|
|
Ver los puetos
|
vagrant port
|
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.