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
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.
- Create reproducible local development environments with Vagrant Vagrantfiles checked into version control
- Simulate multi-service architectures locally using multi-machine Vagrantfiles with private networking
- Integrate Ansible and Chef as provisioners for complex environment configuration and testing
- Package and distribute custom Vagrant boxes for team use via private box hosting
- Evaluate Vagrant vs Dev Containers, Docker Compose, and Nix for different team and project contexts
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