Vagrant

De Linuxmemo.

Sommaire

Install

https://www.vagrantup.com/downloads.html

Nouveau projet (vide)

mkdir vagrant_getting_started
cd vagrant_getting_started
vagrant init
vim Vagrantfile

Les "Boxes"

  • ajouter une box
vagrant box add hashicorp/precise64
(vagrant box add user/namebox)
  • démarrer la box
vagrant up
vagrant ssh
  • détruire l'instance d'une box
vagrant destroy
  • deinstaller une box
vagrant box remove

synced folders (/vagrant)

By default, Vagrant shares your project directory (remember, that is the one with the Vagrantfile) to the /vagrant directory in your guest machine.

vagrant up
vagrant ssh
vagrant@precise64:~$ ls /vagrant
Vagrantfile

Provisioning

in the same directory as your Vagrantfile:

vim bootstrap.sh

#!/usr/bin/env bash
apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
  rm -rf /var/www
  ln -fs /vagrant /var/www
fi
vim vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.provision :shell, path: "bootstrap.sh"
end
vagrant up
or
vagrant reload --provision

Networking

Let us setup a forwarded port so we can access Apache in our guest:

vim Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, guest: 80, host: 4567
end
vagrant reload
or
vagrant up

Vagrant also has other forms of networking, allowing you to assign a static IP address to the guest machine, or to bridge the guest machine onto an existing network. If you are interested in other options, read the networking page.

Vagrant Share (with the world)

Créer un compte gratuit sur https://www.vagrantup.com/docs/other/atlas.html

vagrant login
vagrant share
Outils personnels