Gdzie Vagrant zapisuje zmiany w maszynie wirtualnej?


103

Dopiero zaczynam od Vagranta i mam trochę problemów ze zrozumieniem kilku szczegółów. Przeczytałem dokumenty, ale wciąż brakuje mi podstawowej koncepcji. Kiedy chcę rozpocząć Vagrant box, uruchamiam:

vagrant up

Spowoduje to „zbudowanie maszyny wirtualnej w oparciu o pudełko”. Rozumiem, że pudełka są przechowywane w ~ / .vagrant.d i faktycznie spakowałem własne pudełko z podstawowego pudełka Ubuntu. Jednak kiedy uruchamiam włóczęgę i zaczynam dodawać pliki do maszyny wirtualnej, gdzie jest przechowywany wirtualny dysk twardy dla maszyny wirtualnej? Na przykład, kiedy uruchamiam apt-get install apache2 i modyfikowany jest system główny, gdzie jest to modyfikowane?

Kiedy robię du w moim bieżącym katalogu, nie widzę żadnych zmian. Nie widzę też żadnych zmian w katalogu ~ / .vagrant.d. Mogę jednak zatrzymać włóczęgę, zrestartować komputer lokalny, a następnie ponownie uruchomić włóczęgę, a zmiany są gdzieś utrwalone.

włóczęga się również raporty

[default] VM already created. Booting if its not already running...

Czy ktoś może mi powiedzieć, gdzie jest tworzona maszyna wirtualna i gdzie wprowadzane są zmiany?

Odpowiedzi:


113

Vagrant importuje skrzynkę bazową, która znajduje się ~/.vagrant.d/boxes/, jak powiedziałeś. Tutaj są przechowywane pudełka podstawowe. Używa go do uruchamiania maszyny wirtualnej ze stanu czystego. Podczas importowania maszyny wirtualnej odpowiedzialność za miejsce przechowywania plików danych i stanu maszyny wirtualnej spoczywa na samym VirtualBox. Jest to lokalizacja, którą można konfigurować, ale zazwyczaj jest to lokalizacja domyślna ~/VirtualBox\ VMSdla systemów Mac OS X i Linux. W systemie Windows pudełka są przechowywane%userprofile%\.vagrant.d\boxes

Łatwo jest znaleźć miejsce, w którym powstają, niezależnie od platformy, z której korzystasz.

1. Start VirtualBox. 
2. Go to the VM that shows as running instance. 
3. Check out the Settings ->Storage. 
4. You can find the path to location where VMs are created and stored in your file system.

Dziękuję za Twoją odpowiedź. Ładnie wyjaśniłeś, jak to działa.
Drzewo

12
Jest też ~/VirtualBox VMSw systemie Windows.
Jason R. Coombs

Zastanawiałem się, czy @pyfunc i inni użytkownicy tutaj mogliby mi pomóc w używaniu vagranta na istniejącej maszynie wirtualnej, która nie jest tworzona przy użyciu vagrant upw pierwszej kolejności. stackoverflow.com/q/14503932/80353
Kim Stacks

@kimsia: Możliwe jest wyeksportowanie maszyny wirtualnej po pewnym przygotowaniu jako plik pudełkowy, którego można używać z vagrantem. Zobacz moją notatkę na blogu, jeśli to może pomóc: pyfunc.blogspot.com/2011/11/…
pyfunc

@pyfunc, dziękuję za odpowiedź. Twój post na blogu dał mi kilka wskazówek. Mam więcej pytań. Czy byłoby dobrze, gdybym skopiował Twój komentarz i wkleił jako odpowiedź na moje pytanie i zabrał tam rozmowę? A może wolisz udzielić tego jako odpowiedzi na moje pytanie? To jest moje pytanie stackoverflow.com/q/14503932/80353
Kim Stacks

4

Zawsze zmieniam katalog, którego domyślnie używa Virtualbox dla maszyn wirtualnych. Zwykle znajduje się w folderze profilu w systemie Windows.

Zmieniam to na coś takiego jak "D: \ VHDs \ VBox \" i tam znalazłem mój vagrant test vm: "test01_1347456065". Nazywało się test01, więc myślę, że włóczęga dodaje liczby, aby zachować wyjątkowość.


2
Vagrant dodaje znacznik czasu UNIX do nazwy folderu.
kynan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.