Vagrant
A vagrant is a person, often in poverty, who wanders from place to place without a home or regular employment or income.
Vagrant is a individual animal appear well outside it normal range
"vagrant" ultimately derive from Latin word vagari
I ramble, wander, stroll about.
I waver, am unsettled.
Vagrant is free and open-source software for creating and configuring virtual development environments
It can be considered a wrapper around virtualization and configuration management software
Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team
https://docs.vagrantup.com/v2/why-vagrant/index.html
Create and configure lightweight, reproducible, and portable development environments.
Vagrant will isolate dependencies and their configuration within a single disposable, consistent environment
Vagrant gives you a disposable environment and consistent workflow for developing and testing infrastructure management scripts
Vagrant will automatically set everything up that is required.
Once a developer configures Vagrant, you don't need to worry about how to get that app running ever again.
PROVIDERS
- VirtualBox
- VMware
- Docker
- Hyper-V
- custom
- AWS
- CloudStack
- OpenStack
- ...
PROVISION
- File
- Shell
- Ansible
- CFEngine
- Chef
- Puppet
- Salt
NETWORKING
- Forwarded ports
- Private networks
- Public networks
MULTI-MACHINE
Define and control multiple guest machines.
These machines are generally able to work together or are somehow associated with each other.
Accurately modeling a multi-server production topology, such as separating a web and database server.
Modeling a distributed system and how they interact with each other.
Testing an interface, such as an API to a service component.
Disaster-case testing: machines dying, network partitions, slow networks, inconsistent world views, etc.
Vagrant.configure("2") do |config|
config.vm.define "web" do |web|
web.vm.box = "apache"
end
config.vm.define "db" do |db|
db.vm.box = "mysql"
end
end
BOXES
Boxes are the package format for Vagrant environments. A box can be used by anyone on any platform that Vagrant supports to bring up an identical working environment.
public Vagrant box catalog
https://vagrantcloud.com/discover
Getting started ..
- install provider (virtualbox)
- install vagrant
$> vagrant init debian/trusty64
$> vagrant up
$> vagrant ssh
Vagrant
By Hillar Aarelaid
Vagrant
- 1,033