Không có câu trả lời nào ở trên phù hợp với tôi. Tôi đã 2 ngày tìm cách di chuyển Máy Vagrant + VirtualBox từ máy tính sang máy tính khác ... Có thể!
Trước tiên, bạn cần hiểu rằng máy ảo được tách biệt khỏi thư mục đồng bộ / chia sẻ của bạn. Vì vậy, khi bạn đóng gói máy của mình, bạn đang đóng gói nó mà không có tệp của bạn, nhưng với cơ sở dữ liệu.
Bạn cần gì để làm:
1- Mở CMD của máy chủ 1 máy tính của bạn (Dòng lệnh. Mở nó với tư cách Quản trị viên bằng nút bên phải -> "Chạy với tư cách quản trị viên") và chuyển đến các tệp đã cài đặt vagrant của bạn. Trong trường hợp của tôi: C: / VVV Bạn sẽ thấy Vagrantfile của mình cũng có các thư mục sau:
/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...
Thư mục / www / là nơi tôi có Thư mục Đồng bộ hóa với các miền phát triển của mình. Bạn có thể có thư mục đồng bộ hóa của mình ở một nơi khác, chỉ cần đảm bảo hiểu bạn đang làm gì. Ngoài ra / config và / database là các thư mục đồng bộ.
2- chạy lệnh này: vagrant package --vagrantfile Vagrantfile
(Lệnh này thực hiện một gói máy ảo của bạn bằng cách sử dụng cấu hình Vagrantfile.)
Đây là những gì bạn có thể đọc trên tài liệu Vagrant về lệnh:
Một quan niệm sai lầm phổ biến là tùy chọn --vagrantfile sẽ đóng gói một Vagrantfile được sử dụng khi sử dụng vagrant init với hộp này. Đây không phải là trường hợp. Thay vào đó, tệp Vagrantfile được tải và đọc như một phần của quá trình tải Vagrant khi hộp được sử dụng. Để biết thêm thông tin, hãy đọc về thứ tự tải Vagrantfile.
https://www.vagrantup.com/docs/cli/package.html
Khi hoàn tất, bạn sẽ có một tệp package.box.
3- Sao chép tất cả các tệp này (/ config, / database, Vagrantfile, package.box, v.v.) và dán chúng vào Máy tính 2 của bạn ngay nơi bạn muốn cài đặt máy ảo của mình (trong trường hợp của tôi là D: / VVV).
Bây giờ bạn có một bản sao của mọi thứ bạn cần trên máy chủ 2 máy tính của bạn.
4- chạy cái này: vagrant box add package.box --name VVV
(--Name được sử dụng để đặt tên cho máy ảo của bạn. Trong trường hợp của tôi, nó có tên là VVV) (Bạn có thể sử dụng --force nếu bạn đã có một máy ảo với tên này và muốn ghi đè nó. (Sử dụng cẩn thận!))
Thao tác này sẽ giải nén Máy ảo lang thang mới của bạn.
5- Khi hoàn thành, chạy:
vagrant up
Máy sẽ cài đặt và bạn sẽ thấy nó trên "Oracle virtual machine box manager". Nếu bạn không thể thấy máy ảo, hãy thử chạy hộp Oracle VM với tư cách quản trị viên (nhấp chuột phải -> Chạy với tư cách quản trị viên)
Bây giờ bạn có thể có mọi thứ ổn nhưng hãy nhớ xem máy chủ của bạn có như bạn mong đợi không:
c:/windows/system32/hosts
6- Có thể bạn nên sao chép tệp máy chủ từ Máy tính 1 sang Máy tính 2. Hoặc sao chép các dòng bạn cần. Trong trường hợp của tôi, đây là những máy chủ tôi cần:
192.168.50.4 test.dev
192.168.50.4 vvv.dev
...
Trong đó 192.168.50.4 là IP của máy ảo của tôi và test.dev và vvv.dev đang phát triển các máy chủ.
Tôi hy vọng điều này có thể giúp bạn :) Tôi sẽ rất vui nếu bạn phản hồi thông tin của bạn.
Một số đặc điểm của trường hợp của tôi mà bạn có thể tìm thấy:
Khi tôi chạy lang thang, có vấn đề với mysql, nó không hoạt động. Tôi phải chạy trên Máy chủ ảo (nhấp chuột phải vào máy ảo oracle -> Hiển thị bảng điều khiển):apt-get install mysql-server
Sau đó, tôi chạy lại một lần nữa và mọi thứ đều hoạt động nhưng không có dữ liệu trên cơ sở dữ liệu. Vì vậy, tôi đã thực hiện mysqldump tất cả các bảng từ Máy tính 1 và tải chúng lên Máy tính 2.
LƯU Ý KHÁC:
Máy ảo của tôi không chính xác trên Máy tính 1 và Máy tính 2. Ví dụ: một thời gian trước, tôi đã thực hiện cấu hình nội bộ để sử dụng NFS (để tăng tốc các thư mục đồng bộ hóa máy chủ) và tôi cần chạy lại lệnh này trên Máy tính 2 tổ chức:vagrant plugin install vagrant-winnfsd