Tak piszę o tym, jest łatwy w konfiguracji, pokażę ci mój przykładowy plik Vagrantfile:
Kod
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.hostname = "app.dev"
config.vm.network :private_network, ip: "192.168.56.102"
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "1024"]
vb.customize ["modifyvm", :id, "--cpus", "4"]
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
config.vm.synced_folder "project", "/home/vagrant/project", type: "nfs", create: true
config.vm.network "forwarded_port", guest: 80, host: 8000
config.vm.network "forwarded_port", guest: 3306, host: 33060
config.vm.network "forwarded_port", guest: 5432, host: 54320
config.vm.network "forwarded_port", guest: 35729, host: 35729
if Vagrant.has_plugin?('vagrant-hostmanager')
config.hostmanager.enabled = true
config.hostmanager.manage_host = true
config.hostmanager.ignore_private_ip = false
config.hostmanager.include_offline = false
#config.hostmanager.aliases = %w(test.dev, second.dev)
end
config.vm.provision "shell" do |s|
s.path = "./scripts/provision.sh"
end
end
Więc tak, ten kawałek:
Kod
if Vagrant.has_plugin?('vagrant-hostmanager')
config.hostmanager.enabled = true
config.hostmanager.manage_host = true
config.hostmanager.ignore_private_ip = false
config.hostmanager.include_offline = false
#config.hostmanager.aliases = %w(test.dev, second.dev)
end
Odpowiada za sprawdzenie czy dany plugin jest zainstalowany i jeżeli tak to go odpala. Zakomentowana linijka z aliasami, służy do podania tablicy z hostami które chcesz dodatkowo wrzucić do pliku
hosts. Dodatkowo dlatego że, przedewszystkim brany pod uwagę jest :
Kod
config.vm.hostname = "app.dev"
Jeżeli jest pusty, albo nie podany, to wtedy ten plugin dorzuci do pliku
hosts, host o nazwie "default". Więc jeżeli chcesz mieć tylko jeden host, to wystarczy wypełnić
hostname w konfiguracji
vm, a linijkę z aliasami pominąć, lub zakomentować.
Pamiętaj, że ten plugin aktualizuje wpisy w
hosts tylko przy
vagrant up i
vagrant destroy, jeżeli dodałeś nowy wpis, a nie chcesz resetować całego VM'a, to użyj komendy
vagrant hostmanager. Dodatkowo polecam ci zainteresować się jeszcze pluginem
vagrant-winnfsd i współdzieleniu folderów poprzez nfs, które jest z 3x szybsze od virtual box'owego systemu plików.