Konfiguracja maszyny Vagranta

Vagrant swoje maszyny tworzy na podstawie pliku Vagrantfile, który jest tworzony po wydaniu polecenia init, choć można go też ręcznie utworzyć. Owy plik jest w języku Ruby, jednak nie jest potrzebna znajomość tego języka, aby odnaleźć się w ustawieniach konfiguracji ponieważ składnia jest dość prosta a  przykłady opisane są komentarzach i w dokumentacji.
Spróbujmy więc ustawić pod siebie kilka  parametrów dla maszyny z Vagranta.

Pamiętaj, że plik Vagrantfile możesz edytować dowolnym edytorem tekstu. Jak zawsze to polecam notepad++.

config.vm.hostname = “MojaFajnaNazwaHosta” # nazwa hosta  maszyny wirtualnej
config.vm.network "forwarded_port", guest: 80, host: 8080 # przekierowanie portów pomiędzy gospodarzem a gościem

Ustawienia przekazywane do wirtualizatora Virtualbox

config.vm.provider "virtualbox" do |vb|  # pamiętaj, aby tak otworzyć sekcję do ustawień dla Virtualboksa
vb.memory = "4096" # ustawienie 4 GB  pamięci dla wirtualnej maszyny 
vb.gui = true # pokazuje okno maszyny
vb.name = “MojBionic” # ustawia nazwę maszyny
vb.cpus = 2 # ustawia dwa rdzenie dla maszy wirtualnej
end  # tak zakończy ustawienia dla Virtualboksa 

Po zmodyfikowaniu pliku Vagrantfile nie musisz niszczyć (vagrant destroy) i podnosić ponownie maszynę aby zastosować nowe ustawienia. Wystarczy że wydasz polecenie vagrant reload

Provisioning

Vagrant jako narzędzie do opisywania konfiguracji za pomocą kodu oferuje także tak zwany provisioning, czyli tworzenie nowych zasobów. Tu opisze jak łatwo to ustalić. Powiedzmy,  że mamy bazowy obraz, do którego chcemy dodać konfiguracje czy zainstalować dodatkowe oprogramowanie i dokonać aprowizacji za pomocą skryptu bash. Przygotuj więc taki skrypt. Ja dla przykładu przygotowałem najprostszy plik cowsay.sh i umieściłem w katalogu maszyny. Plik zawiera następującą zawartość:

#!/bin/bash
apt-get update -y
apt-get upgrade -y
apt-get install -y cowsay

Natomiast w pliku Vagrantfile dodaj linię:

config.vm.provision "shell", path: "provision-cowsay.sh"

Aby wywołać provisioning bez zamykania maszyny wystarczy polecenie vagrant provision i zadzieje się magia.

Opis możliwych wszystkich opcji dla pliku Vagrantfile znajdziesz w dokumentacji https://www.vagrantup.com/docs