RousselTMLEARNING

Automatisation · Courses

Vagrant: From Discovery to Expertise

Learn to automate the creation and management of virtual development environments with Vagrant. Master the VM lifecycle, configuration as code via the Vagrantfile, and automatic provisioning with Shell or Ansible to guarantee reproducible, isolated environments.

7 chapters24 lessonsEN
At your pace, through practice.

LEARNING PATH

Course curriculum

0Course overview2 lessons
1Vagrant2 lessons
2Building and managing images: Boxes4 lessons
3Vagrantfile7 lessons
4Configuring VMs: provisioners4 lessons
5Building and managing multiple machines3 lessons
6Plugins2 lessons

LEARN BY DOING

Use cases & applications

Standardizing development environments

Ensure every team member works on an identical setup (OS, language versions, database), eliminating the 'works on my machine' syndrome.

Simulating multi-machine infrastructures

Deploy a full cluster locally (e.g. a web server, an application server, and a database) to test network communication and complex deployments.

Isolating and testing legacy projects

Work on older projects that require specific or outdated versions of PHP/Python/Node without polluting your computer's main operating system.

Frequently asked questions

What is Vagrant?

Vagrant is a command-line tool for creating and managing reproducible, portable, and easy-to-configure virtual development environments.

What's the difference between Vagrant and Docker?

Vagrant focuses on managing full virtual machines (an isolated operating system), while Docker manages containers that share the host's kernel, making them lighter but less isolated at the OS level.

What is a Box in Vagrant?

A box is the packaging format for Vagrant environments. It's a compressed base image of an operating system (e.g. Ubuntu, CentOS) from which the VM is created.

What is the Vagrantfile for?

It's the central configuration file (written in Ruby syntax) that describes the machine type, its resources (CPU, RAM), shared folders, networking, and the configuration scripts to run.

Can I use Vagrant with a provider other than VirtualBox?

Yes, Vagrant is provider-agnostic. While VirtualBox is the standard, it also supports VMware, Hyper-V, Docker, and even Cloud instances (AWS, Azure) via plugins.

What is provisioning?

It's the automation step where Vagrant installs software and configures the machine after it starts up, using Shell scripts or tools like Ansible, Chef, or Puppet.