Đây là một câu hỏi lớn, vì vậy tôi sẽ chia nó thành ba phần.
Âm đạo
Vagrant được sử dụng để thiết lập một hoặc nhiều máy ảo bằng cách:
- Nhập hình ảnh được tạo sẵn (được gọi là "hộp")
- Đặt cài đặt dành riêng cho VM (địa chỉ IP, tên máy chủ, chuyển tiếp cổng, bộ nhớ, v.v.)
- Chạy phần mềm cung cấp như Puppet hoặc Chef
Lưu ý rằng nó không cài đặt phần mềm hoặc thiết lập máy trước khi tải VM và cài đặt cài đặt VirtualBox. Hãy nghĩ về nó như một công cụ viết kịch bản cho VirtualBox.
Dưới đây là một số lý do tôi đã thấy khi sử dụng Vagrant chứ không chỉ VirtualBox.
1. Thiết lập mạng Multi-VM dễ dàng
Hầu hết các nội dung người dùng quyền lực Vagrant mà tôi đã đọc là về việc thiết lập nhiều máy ảo cùng một lúc. Vagrant cung cấp cho bạn một tệp cấu hình duy nhất để thiết lập các tệp này, cho phép bạn khởi chạy tất cả chúng bằng một lệnh.
Giả sử bạn đã cấu hình ba máy ảo để kết nối mạng với nhau bằng IP tĩnh trên mạng con 192.168.1. *. Bạn thấy mình ở một vị trí đã sử dụng mạng con đó để phân phát địa chỉ IP và máy ảo của bạn hiện đang xung đột. Với Vagrant, bạn chỉ cần chỉnh sửa Vagrantfile và tải lại VM, trong khi với VirtualBox, bạn phải mở cài đặt cho từng VM, nếu không khởi động từng VM và thay đổi chúng bên trong.
2. Kiểm soát nguồn
Bằng cách đặt các cài đặt trong tệp văn bản, nó cho phép cấu hình được đặt dưới sự kiểm soát nguồn. Thực hiện một số thay đổi vào tuần trước và vô tình phá vỡ hình ảnh? Chỉ cần hoàn nguyên các thay đổi và tải lại VM. Bạn có thể thực hiện điều này với ảnh chụp nhanh VirtualBox, nhưng nó sẽ chiếm nhiều không gian hơn so với chỉ một Vagrantfile.
3. Nền tảng khác nhau
Có một số lượng lớn các hộp có sẵn tại các trang web như http://vagrantbox.es . Điều này cho phép bạn thử các hệ điều hành hoặc bản phân phối khác nhau, áp dụng cùng một quy định để thiết lập các môi trường tương tự. Điều này có thể giúp kiểm tra hoặc thêm hỗ trợ cho các nền tảng mới và sẽ tốn thời gian khi chỉ sử dụng VirtualBox.
Có rất nhiều đối số để sử dụng phần mềm cung cấp, cũng như sử dụng ảnh chụp nhanh. Để thảo luận thêm, tôi sẽ chỉ cho bạn bài viết xuất sắc của Stephen Nelson-Smith Cách xây dựng 100 máy chủ web trong một ngày .