Training Agenda

Vagrant

Vagrant creates reproducible, shareable local development environments using virtual machines or containers. A single Vagrantfile checked into the repository means every team member works in an identical environment — same OS, same dependencies, same network configuration — eliminating "works on my machine" problems. It integrates with VirtualBox, VMware, Hyper-V, and Docker as providers.

1 day On-site, remote, or hybrid Up to 20 participants German or English
What We Cover
Reproducible local environments and multi-machine development setups
Module 1

Fundamentals — Vagrantfiles, Networking & Provisioning

  • Vagrantfile syntax: Vagrant.configure block, box specification, VM name and hostname, provider overrides
  • Box management: HashiCorp Cloud boxes, vagrant box add/list/update, hosting private boxes on S3 or Artifactory
  • Networking: forwarded ports (host to guest), private network (host-only adapter), public network (bridged adapter)
  • Shared folders: default /vagrant sync, rsync for one-way sync, NFS for performance, VirtualBox shared folder type trade-offs
  • Shell provisioner: inline scripts, external script files, privileged vs non-privileged provisioning, always run flag
  • Vagrant commands: up, halt, reload, suspend, resume, destroy, ssh, provision — and the VM lifecycle
  • Snapshots: vagrant snapshot save/restore for safe experimentation during provisioner development
Module 2

Advanced Usage — Multi-Machine & Provisioner Integration

  • Multi-machine Vagrantfiles: defining web, db, and cache nodes in a single file, cross-machine communication via private network
  • Ansible provisioner: ansible_local vs ansible (control machine), playbook path, inventory generation, galaxy roles
  • Chef and Puppet provisioners: chef_solo, puppet_apply — integrating configuration management testing workflows
  • Custom box creation: packaging a configured VM with vagrant package, metadata.json for versioned box hosting
  • Docker provider: using Docker containers as Vagrant machines, limitations vs VM-based providers
  • Vagrant in team workflows: .gitignore for .vagrant/, box versioning, environment-specific variable injection
  • Alternatives evaluation: Dev Containers (VS Code, devcontainer.json), Docker Compose for services, Nix for reproducibility
Learning Outcomes
What your team walks away with

Participants can create and manage reproducible local development environments with Vagrant, simulate multi-service architectures locally, and understand when Vagrant is the right tool versus lighter-weight alternatives.

Book the Vagrant training

Reach out to schedule a session for your team — remote, on-site, or hybrid, in German or English.

Get in touch