Làm cách nào để xóa hộp Vagrant khỏi trạng thái chung, sau khi xóa hộp đó khỏi hệ thống tệp?


87

//, tôi đã xóa một thư mục chứa hộp Vagrant đang chạy trước khi nhận ra nó vẫn đang chạy.

Làm cách nào để xóa nó khỏi Vagrant (global-status) bây giờ?

Tôi đã xóa máy ảo Virtualbox.


1
Vagrant VM có đang chạy hay không không quan trọng (gần đây tôi đã phát hiện ra điều này). Ngay cả khi máy ảo bị dừng, nếu bạn xóa thủ công các tệp của nó thay vì chạy vagrant destroy, vagrant global-statusvẫn sẽ báo cáo sự cố "trạng thái máy chủ không xác định".
John Berberich

Câu trả lời:


194

Để loại bỏ các hộp cũ được liệt kê trong vagrant global-status(ví dụ: bạn đã xóa thư mục chứa .vagrantdir khỏi hệ thống tệp), bạn chỉ cần chạy:

vagrant global-status --prune

Bạn có thể cần phải gỡ bỏ Máy ảo trực tiếp khỏi giao diện điều khiển của nhà cung cấp (VMWare, Virtualbox, ..).


Ngược lại, tôi đã tự tạo ra vấn đề cho chính mình: Tôi đã xóa các tệp của VM khỏi nhà cung cấp và cũng thay đổi Vagrantfile để VM không còn là một phần của cấu hình Vagrant của dự án. Các --prunetùy chọn làm việc cho kịch bản của tôi là tốt. Cảm ơn!
John Berberich

Nó chỉ hoạt động đối với tôi từ bên trong một máy ảo được cung cấp Vagrant đang chạy hiện có.
Nikos Alexandris

1
Không làm việc cho tôi. Tôi đã phải chỉnh sửa thủ công ~/.vagrant.d/data/machine-indexvà xóa mục nhập vi phạm.
Dalin

Điều này đã làm việc cho trường hợp của tôi. Nếu bạn thay đổi tên máy của mình và tên máy cũ (không hoạt động nữa) vẫn được liệt kê theo trạng thái toàn cầu mơ hồ.
Dayron Gallardo

6

Tôi tin rằng tên tệp mới của dữ liệu chung là ~/.vagrant.d.

Vì vậy, bạn có thể chạy rm -r ~/.vagrant.dđể xóa tất cả dữ liệu người dùng để bắt đầu mới.


0

Đối với trường hợp của tôi: Nơi bếp và thư mục .kitchen / có thể chứa các tệp vagrant ẩn được tạo bởi

$ kitchen create

Tôi cần phải đi xa hơn là phá hủy nhà bếp hoặc phá hủy lang thang hoặc thậm chí hủy diệt lang thang machineID (từ trạng thái toàn cầu lang thang - cung cấp danh sách các trường hợp lang thang trên không gian người dùng của bạn.)

Trong trường hợp của tôi, tôi phải loại bỏ các tệp khóa máy lang thang có trong thư mục ẩn .vagrant của người dùng.

$ rm -r ~/.vagrant/data

Và trong trường hợp của tôi, tôi cần thực hiện lệnh trên.

Sau đó, cuối cùng tôi đã hoàn thành

$ vagrant global-status

danh sách


0

Đầu tiên, bạn sử dụng vagrant global-statusđể liệt kê tất cả các máy lang thang và trạng thái của chúng và ids.

thì bạn có thể sử dụng:

 vagrant destroy -f the_id_of_the_machine

sau đó nếu bạn chạy vagrant global-statuslại, bạn sẽ thấy rằng id bạn đã chỉ định trong vagrant destroy -flệnh đã bị xóa khỏi danh sách.

và sau đó bạn có thể cần khởi động lại máy của mình Tuy nhiên, các lệnh này sẽ không ảnh hưởng đến các hộp của bạn.


0

Các lệnh trên không xóa hộp cũ trong trường hợp của tôi trên máy Windows. Tôi đã xóa .vagrantthư mục và hộp khỏi thư mục nhà cung cấp hộp ảo nhưng hộp vẫn ở trong vagrant global-status list.

Như đã đề cập trong nhận xét được đưa ra bởi một vagrant uplệnh:

If you believe this message is in error, please check the process
listing for any "ruby" or "vagrant" processes and kill them. Then
try again.

Vì vậy, tôi đã loại bỏ ruby.exekhỏi danh sách quy trình và thực hiện một bước tiếp theo vagrant global-status --prune.

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.