Vagrant boxes czyli pudełka Vagranta

Vagrant umożliwia pobieranie i uruchamianie z obrazów systemów w paczkach zwanych vagrant boxes, czyli w pudełkach. Pudełko vagranta to plik z rozszerzeniem .box, które zawierają kompletny obraz systemu w postaci pliku dysku wirtualnego, plik ustawień maszyny wirtualnej, klucz prywatny i inne metadane niezbędne dla vagranta. 

Na początku warto zobaczyć z jakich gotowych pudełek możemy skorzystać z zasobów przygotowanych przez twórców oprogramowania czyli firmę Hasicorp. znajdziesz je pod adresem   https://app.vagrantup.com/boxes/search

W tym celu warto zaznaczyć na stronie filtr dla wirtualizatora, najlepiej Virtualbox. Wchodzimy w wybraną pozycję pozycji iw sekcji How to use this box with Vagrant:  klikamy New, skąd kopiujemy polecenie do linii poleceń. Dalej już magia dzieje się sama i obraz się sam pobiera i tworzy nową maszynę pod Vagrantem.

Kolejnym popularnym źródłem pudelek jest strona  www.vagrantbox.es
Wybierz na stronie pudełko i aby skorzystać tu  zasobów to skopiuj URL danego systemu , najwygodniej użyć przycisku Copy na stronie. Zwróć uwagę aby providerem bym wirtualizator z korztego korzystasz (Virtualbox).

Teraz przejdź do linii poleceń i wpisz
vagrat box add NAZWE i klej URL na przyklad

 

Pamiętaj, że  aby sprawdzić jakie masz dostępne gotowe pudełka na lokalnej maszynie wpisz polecenie:
vagrant box list

Aktualizacja obrazów

Kiedy korzystasz z obrazów z oficjalnych źródeł to za każdym razem, gdy wydajesz polecenie vagrant up sprawdzane jest czy dany obraz jest aktualny i jeśli znajdzie nowszą wersje to wyświetli komunikat
A newer version of the box is availabale!
Teraz aby zaktualizować pudełko wystarczy tylko wydać polecenie vagrant box update

Modyfikacja istniejącego obrazu/pudełka

Załóżmy, że skorzystaliśmy już z gotowego pudełka z oficjalnych źródeł hasicorp, na przykład systemu Ubuntu i teraz dostosowaliśmy to pudełko bardziej do naszych potrzeb; aktualizując system i instalując potrzebne nam oprogramowanie. Teraz gdybyśmy wydali polecenie vagrant destroy a potem vagrant up to oczywiście nowa maszyna powstałaby już z oryginalnego obrazu, niestety bez naszych aktualizacji i zainstalowanego dodatkowo oprogramowania. Tak więc jak możemy zapisać nasze  zmiany do obrazu na stałe?
Możemy to zrobić w kilku prostych krokach.

  1. Dana, zmodyfikowana maszna ze zmianami musi być uruchomiona (Status: running)
  2. Wpisz polecenie vagrant package --output NazwaPlikuPudełka.box
    Vagrant teraz zamknie obecna  maszynę i zacznie eksportować maszynę do nowego pudełka
  3. Teraz dodaj nowe pudełko do listy vagranta poleceniem
    vagrant box add NazwaTwojegoNowego NowaNazwaTwojegoPudełka.box
  4. Upewniamy się, że jest na liście poleceniem vagrant box list
  5. Gotowe. Teraz gdy tylko zainicjujesz poleceniem vagrant init nowe pudełko to utworzy się maszyna ze wszystkimi zmianami które wprowadziłeś.  


Na koniec podpowiem, że plik pudełka można otworzyć i przeglądać programem 7-zip.


Jeśli interesujesz się tematem Virtualboxa to zapraszam Cię do kursu Virtualbox w praktyce – tam poznasz szczegółowo wszystkie najważniejsze zagadnienia programu.
Natomiast jeśli chcesz zautomatyzować swoje maszyny wirtualne to kurs Vagrant w praktyce jest właśnie dla Ciebie.