Vagrant lưu các thay đổi vào VM ở đâu?


103

Tôi mới bắt đầu với Vagrant và tôi đang gặp một chút khó khăn khi hiểu một số chi tiết. Tôi đã đọc qua các tài liệu nhưng vẫn còn thiếu một khái niệm cơ bản. Khi tôi muốn bắt đầu một hộp Vagrant, tôi chạy:

vagrant up

Điều này sẽ "xây dựng máy ảo dựa trên hộp" Tôi hiểu rằng các hộp được lưu trữ tại ~ / .vagrant.d và trên thực tế, tôi đã đóng gói hộp của riêng mình từ hộp Ubuntu cơ sở. Tuy nhiên, khi tôi chạy vagrant lên và bắt đầu thêm tệp vào vm, thì ổ cứng ảo của vm được lưu ở đâu? Ví dụ: khi tôi chạy apt-get install apache2 và hệ thống gốc được sửa đổi, điều này được sửa đổi ở đâu?

Khi tôi thực hiện một du trên thư mục hiện tại của mình, tôi không thấy bất kỳ thay đổi nào. Tôi cũng không thấy bất kỳ thay đổi nào trong thư mục ~ / .vagrant.d. Tuy nhiên, tôi có thể thực hiện tạm dừng lang thang, khởi động lại máy cục bộ của mình và sau đó chạy lại lang thang và các thay đổi vẫn tiếp tục ở đâu đó.

lang thang cũng báo cáo

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

Ai đó có thể cho tôi biết VM được tạo ở đâu và thực hiện các thay đổi ở đâu không?

Câu trả lời:


113

Vagrant nhập hộp cơ sở được đặt tại ~/.vagrant.d/boxes/, như bạn đã nói. Đây là nơi cất giữ các hộp cơ sở. Nó sử dụng nó để khởi động một máy ảo từ trạng thái sạch. Khi nhập một máy ảo, trách nhiệm về nơi lưu trữ tệp dữ liệu và trạng thái máy ảo là tùy thuộc vào chính VirtualBox. Đây là vị trí có thể định cấu hình nhưng thường được đặt mặc định ~/VirtualBox\ VMScho Mac OS X và Linux. Trong Windows, các hộp được giữ trong%userprofile%\.vagrant.d\boxes

Thật dễ dàng để tìm thấy nơi chúng được tạo, bất kể bạn đang sử dụng nền tảng nào.

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.

Cảm ơn bạn vì câu trả lời. Bạn đã giải thích độc đáo cách nó hoạt động.
Tree

12
Nó cũng có ~/VirtualBox VMStrên Windows.
Jason R. Coombs

Tôi đã tự hỏi liệu @pyfunc và những người dùng khác ở đây có thể giúp tôi sử dụng vagrant trên một máy ảo hiện có không được tạo bằng cách sử dụng vagrant upngay từ đầu. stackoverflow.com/q/14503932/80353
Kim Stacks

@kimsia: Có thể xuất máy ảo của bạn sau khi chuẩn bị nhất định dưới dạng tệp hộp có thể được sử dụng với vagrant. Xin xem chú thích blog của tôi nếu nó có thể giúp: pyfunc.blogspot.com/2011/11/...
pyfunc

@pyfunc, cảm ơn bạn đã trả lời. Bài đăng trên blog của bạn đã cho tôi một số manh mối. Tôi có nhiều câu hỏi tiếp theo để hỏi. Có ổn không nếu tôi sao chép nhận xét của bạn và dán làm câu trả lời cho câu hỏi của tôi và bắt đầu cuộc trò chuyện ở đó? Hay bạn thích tự đặt nó như một câu trả lời cho câu hỏi của tôi? Đây là câu hỏi của tôi stackoverflow.com/q/14503932/80353
Kim Stacks

4

Tôi luôn thay đổi thư mục mà Virtualbox sử dụng theo mặc định cho máy ảo. Thông thường nó nằm trong thư mục hồ sơ của bạn trong Windows.

Tôi thay đổi nó thành một cái gì đó như "D: \ VHDs \ VBox \" và ở đó tôi tìm thấy bài kiểm tra lang thang vm: "test01_1347456065". Nó được gọi là test01, vì vậy tôi đoán rằng người lang thang sẽ thêm các số để giữ cho mọi thứ trở nên độc đáo.


2
Vagrant thêm dấu thời gian UNIX vào tên thư mục.
kynan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.