Vagrant
Vagrantfile - examples
Fichier basique juste pour lancer une VM sur VirtualBox
Vagrant.configure("2") do |config|
config.vm.box = "debian/bullseye64"
config.vm.define Debian-Lab do |cfg|
cfg.vm.hostname = "Debian-Lab"
cfg.vm.provider "virtualbox" do |v|
v.name= "Debian-Lab"
end #end VB
end #end cfg
end
Installation 3 VM avec Docker sur Virtual Box et Debian 11
Vagrant.configure("2") do |config|
config.vm.box = "debian/bullseye64"
common = <<-SHELL
sudo apt update 2>&1 >/dev/null
sudo apt install tree git vim curl -y 2>&1 >/dev/null
SHELL
NODES = [
{ :hostname => "docker1", :ip => "192.168.12.78", :cpus => 4, :mem => 2048},
{ :hostname => "docker2", :ip => "192.168.12.79", :cpus => 4 , :mem => 2048},
]
NODES.each do |node|
config.vm.define node[:hostname] do |cfg|
cfg.vm.network "private_network", ip: node[:ip]
cfg.vm.hostname = node[:hostname]
cfg.vm.provider "virtualbox" do |v|
v.name= node[:hostname]
v.memory= node[:mem]
v.cpus= node[:cpus]
end #end VB
#lancement commande SHELL pour le provissionning de la VM
cfg.vm.provision "shell", inline: common
#provissionning avec un script SHEEL
cfg.vm.provision "shell", path:"docker_install.sh"
end #end cfg
end #end nodes
end
Ressources Vagrant:
→ Docs Officielle
→ Stéphane Robert - Apprendre et Maitriser Vagrant
→ Premiers pas avec Vagrant
Commandes de Base
Commandes de base de Vagrant
Lancement initiale VM, avec configuration rentrée dans le Vagrantfile:
vagrant up
Par défaut, si aucun nom de machine n'est précisé, ça sera le nom du dossier parent du Vagrantfile, suivi d'un id unique, qui sera utilisé.
Détruire les VM (spécifiées dans le fichier Vagrantfile)
vagrant destroy