Vagrant is an open source software used to create and manage virtual development environments. It can be considered a wrapper around virtualization software such as VirtualBox and configuration management software such as Chef, Ansible, and Puppet.
Vagrant allows you to use virtualization and cloud technologies to power faster, efficient, and sharable development environments. It duplicates the development environment to allow users to easily share and combine data on different machines and also takes care of security concerns.
Vagrant Training CurriculumAn Introduction to Vagrant
Why Vagrant?, The Tao of Vagrant, Alternatives to Vagrant
Plain Desktop Virtualization, Containers, Cloud
Vagrant Versions
Setting Up Vagrant
Installing VirtualBox, Installing Vagrant
Mac OS X Windows Linux
Common Mistakes
Improper PATH Configuration, Conflicting RubyGems Installation, Using Vagrant Without VirtualBox
Your First Vagrant Machine
Up and Running, The Vagrantfile, V1 versus V2 Configuration
Boxes Up Working with the Vagrant Machine
State of the Vagrant Machine, SSH, Shared Filesystem, Basic Networking, Teardown, Suspend, Halt, Destroy
Provisioning Your Vagrant VM
Why Automated Provisioning?, Supported Provisioners, Manually Setting Up Apache, Automated Provisioner Basics.
Shell Scripts, Chef, Puppet
Multiple Provisioners
“No Provision” Mode, In-Depth Provisioner Usage
Shell Scripts
Inline scripts, Run-once scripts
Chef Server Puppet
Modules, Hiera Data, Custom Facts, Using a Puppet Master
Networking in Vagrant
Forwarded Ports
Pros and Cons, Basic Usage, Collision Detection and Correction, TCP versus UDP
Host-Only Networking
Pros and Cons, Basic Usage, Guest Operating System Dependency
Bridged Networking
Pros and Cons, Basic Usage
Composing Networking Options NAT Requirement As the First Network Interface
Modeling Multimachine Clusters
Running Multiple Virtual Machines, Controlling Multiple Machines, Communication Between Machines.
Host-Only Networks Bridged Networks
Real Example: MySQL
Boxes
Why Boxes?, Box Format, Basic Box Management with Vagrant, Creating New Boxes from an Existing Environment, Creating New Boxes from Scratch
Creating the VirtualBox Machine
Configuring the Operating System, Installing VirtualBox Guest Additions, Additional Software, Minimizing the Final Box Size, Packaging It Up, Setting Vagrantfile Defaults
Extending Vagrant with Plug-Ins
Extensible Features, Managing Vagrant Plug-Ins
Plug-In Development Basics
Plug-In Definition, Plug-In Components, Error Handling, Vagrant Internals
A Basic Plug-In Development Environment Developing a Custom Command
Component, Implementation, Working with the Virtual Machine, Working with Multimachine Environments, Parsing Command-Line Options
Adding New Configuration Options
Component, Implementation, Accessing the Configuration, Configuration Merging, Validation
Adding a Custom Provisioner
Component, Implementation, Provisioner Configuration, Configuring the Machine
Modifying Existing Vagrant Behavior
Component, Implementation, Useful Keys in the Action Environment
Other Plug-In Components Packaging the Plug-In
Vagrant Environmental Variables
VAGRANT_CWD, VAGRANT_HOME, VAGRANT_LOG, VAGRANT_NO_PLUGINS, VAGRANT_VAGRANTFILE
Vagrant Configuration Reference
Troubleshooting and Debugging
IRC, Mailing List/Google Group, Professional Support
Highlights
Contact Us