파일 시스템에서 해당 상자를 삭제 한 후 전역 상태에서 Vagrant 상자를 제거하려면 어떻게해야합니까?


87

//, 실행중인 Vagrant 상자가 포함 된 폴더를 삭제 한 후 아직 실행 중이라는 것을 알았습니다.

지금 Vagrant (global-status)에서 어떻게 삭제할 수 있습니까?

Virtualbox VM을 이미 제거했습니다.


1
Vagrant VM이 실행 중인지 여부는 중요하지 않습니다 (최근에 발견했습니다). VM이 중지 된 경우에도 수동으로 실행하는 대신 해당 파일을 삭제하면 vagrant destroy, vagrant global-status여전히 "호스트 상태를 알 수없는"문제를보고합니다.
John Berberich 2014 년

답변:


194

에 나열된 오래된 상자를 삭제하려면 vagrant global-status(예 : .vagrant파일 시스템 에서 dir을 포함하는 폴더를 삭제 한 경우 ) 다음을 실행하면됩니다.

vagrant global-status --prune

공급자 (VMWare, Virtualbox, ..) 제어 인터페이스에서 직접 가상 머신을 제거해야 할 수도 있습니다.


역으로 문제를 만들었습니다. 공급자에서 VM의 파일을 삭제하고 VM이 더 이상 프로젝트의 Vagrant 구성에 포함되지 않도록 Vagrantfile도 변경했습니다. 이 --prune옵션은 내 시나리오에서도 작동했습니다. 감사!
John Berberich 2014 년

기존 실행중인 Vagrant 프로비저닝 된 VM 내부에서만 작동했습니다.
Nikos Alexandris

1
나를 위해 일하지 않았다. ~/.vagrant.d/data/machine-index문제가되는 항목 을 수동으로 편집 하고 제거해야했습니다.
Dalin

이것은 내 경우에 효과적이었습니다. 머신 이름과 이전 이름 ​​(더 이상 작동하지 않음)을 변경하면 여전히 vagrant global-status에 나열됩니다.
Dayron Gallardo

6

글로벌 데이터의 새 파일 이름은 ~/.vagrant.d.

따라서 rm -r ~/.vagrant.d새로운 시작을 위해 모든 사용자 데이터를 삭제하기 위해 실행할 수 있습니다 .


0

제 경우 : kitchen 및 .kitchen / 폴더에 의해 생성 된 숨겨진 방랑 파일이있을 수 있습니다.

$ kitchen create

나는 부엌 파괴 또는 방랑 파괴 또는 방랑 파괴 machineID보다 더 나아가 야합니다 (방랑 글로벌 상태에서 사용자 공간 전체에 방랑 인스턴스 목록을 제공합니다.)

제 경우에는 사용자 .vagrant 숨겨진 디렉토리에 포함 된 방랑 기계 잠금 파일을 날려 버려야했습니다.

$ rm -r ~/.vagrant/data

그리고 제 경우에는 위의 명령을 sudo해야합니다.

그러다 드디어 깨끗하게

$ vagrant global-status

명부


0

먼저 vagrant global-status모든 방랑자 기계와 그 상태 및 ids.

다음을 사용할 수 있습니다.

 vagrant destroy -f the_id_of_the_machine

그 후 vagrant global-status다시 실행 하면 vagrant destroy -f명령에 지정한 ID 가 목록에서 제거되었음을 알 수 있습니다.

그런 다음 컴퓨터를 다시 시작해야 할 수도 있습니다. 그러나 이러한 명령은 상자에 영향을 미치지 않습니다.


0

위의 명령은 Windows 컴퓨터의 경우 이전 상자를 제거하지 못했습니다. 이미 .vagrantVirtualbox 공급자 폴더에서 폴더와 상자를 제거 했지만 상자는 여전히 vagrant global-status list.

vagrant up명령에 의해 주어진 주석에서 언급했듯이 :

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.

그래서 나는 ruby.exe프로세스 목록에서 죽이고 후속 vagrant global-status --prune.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.