Ubuntu como entorno de programación y diseño web – PARTE VI

Continuación de la parte V del tutorial Ubuntu como entorno de programación y diseño web
Palabras claves: programación web, diseño web, entorno de desarrollo, Ubuntu, front-end developer, full-stack developer, virtualización, LXC, Vagrant, Virtual Box.
Parte I | Parte II | Parte III | Parte IV | Parte V | Parte VI | Parte VII

Ambientes virtuales

containers lxc lxdLXC https://linuxcontainers.org/ permite crear y gestionar containers de sistema o aplicaciones.

sudo apt-get install lxc

LXD es un hypervisor de containers. Para instalarlo, en la página de Ubuntu recomiendan usar el PPA para tener siempre la versión más nueva:

sudo add-apt-repository ppa:ubuntu-lxc/lxd-git-master
sudo apt-get update
sudo apt-get install lxd

LXD se basa en imágenes de sistemas operativos para crear los containers, por lo que bajaremos las imágenes de Ubuntu y Debian:

lxd-images import lxc ubuntu trusty amd64 --alias ubuntu
lxd-images import lxc debian wheezy amd64 --alias debian

Vagrant / VirtualBox
Vagrant es ideal para crear ambientes de desarrollo reproducibles y portables.
Descargar Vagrant de https://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1_x86_64.deb . En el directorio donde está el archivo descargado ejecutar:

sudo dpkg --install vagrant_1.8.1_x86_64.deb

Para que Vagrant trabaje con la sincronización de carpetas NFS en Ubuntu necesitamos instalar también estos utilitarios:

sudo apt-get install nfs-common nfs-kernel-server

VirtualBox es un ambiente de virtualización que puede ser usado para crear máquinas virtuales y provisionar los ambientes virtuales de Vagrant

sudo add-apt-repository "deb http://download.virtualbox.org/virtualbox/debian xenial contrib"
wget https://www.virtualbox.org/download/oracle_vbox_2016.asc
sudo apt-key add oracle_vbox_2016.asc
wget https://www.virtualbox.org/download/oracle_vbox.asc
sudo apt-key add oracle_vbox.asc
sudo apt-get update
sudo apt-get install virtualbox-5.0.20
sudo apt-get install dkms

Seguimos a: Ubuntu como entorno de programación y diseño web – PARTE VII