Vagrant 명령은 정확히 무엇을합니까?


96

놀랍게도 Vagrant 명령이 수행하는 작업에 대한 문서는 "시작하기"자습서 전체의 참조를 제외하고는 없습니다.

지금까지 내가 해낸 것 :

  • box- " 상자 " 관리
  • destroy -VM을 종료 한 다음 저장된 이미지를 삭제 하시겠습니까?
  • gem
  • halt -VM 종료
  • init -새로운 Vagrantfile로 디렉토리 준비
  • package-VM을 종료 한 다음 상자로 바꿀 수있는 '패키지'로 변환 하시겠습니까? (또는 뭔가)
  • provision -프로비저닝 (예 : Chef, Puppet ...) 단계 만 실행
  • reload -VM 구성 수정 (예 : Vagrantfile 재 적용), VM 재부팅, 재 프로비저닝
  • resume -일시 중지 해제 (즉, 최대 절전 모드 해제)
  • ssh -VM에 대한 SSH 셸 연결 열기
  • ssh-config
  • status
  • suspend -VM 최대 절전 모드
  • up -일부 또는 전체 : VM 이미지를 복사하여 새 VM 생성, 구성 적용, 부팅

이 권리가 있습니까? 나머지는 무엇입니까? reloaddestroy/ 의 정확한 차이점에 대해서는 아직 명확하지 않습니다 up.


현재 문서가 훨씬 더 좋아졌습니다. vagrantup.com/v1/docs/index.html
JavaRocky

2
@JavaRocky, 나에게는 그렇게 보이지 않습니다. vagrantup.com/v1/docs/commands.html 에는 문자 그대로 하위 명령 별 정보가 없습니다. 이와 같은 가이드에서 각 명령에 대한 더 많은 정보를 기대 합니다.-h ) 합니다.
Matthew Flaschen

2
@JavaRocky-그게 더 좋다면 이전에 어떤 모습 이었는지 상상할 수 없습니다. 전혀 유용하지 않습니다.
DougW 2013

흥미롭게도 실제로 명령 목록을 제거하여 웹 사이트를 이전보다 덜 유익하게 만든 것 같습니다.
Steve Bennett

현재 문서에서 "resume"은 "vagrant up"과 중복되는 것처럼 보입니다. 예를 들어 후자는 일시 중지 된 경우 시스템을 다시 시작하고 중지 된 경우 다시 프로비저닝합니다. 정확합니까? docs.vagrantup.com/v2/getting-started/teardown.html
cboettig

답변:


48

나는 vagrantup의 문서 가 더 짧다는 것에 동의합니다 .

일부 정보는 명령 도움말 시스템에서 수집 할 수 있습니다.

  1. 예 : gem명령.

    인수없이 명령 만 입력하면 vagrant gem -h필요한 정보가 생성됩니다.

    vagrant gemRubyGems 시스템을 통해 Vagrant 플러그인을 설치하는 데 사용됩니다. 사실로,vagrant gem 은 실제 gem 인터페이스 의 프론트 엔드 뿐이며, Vagrant는 gem이 설치된 사용자 정의 디렉토리를 설정하여 시스템 gem과 격리된다는 점이 다릅니다.

  2. Vagrant ssh-config:

    내부적으로 실행하면 vagrant ssh 으로 VM에 ssh를 . 잘 알려진 ssh 키를 활용하고 있습니다. 이 키에 대한 정보는에서 제공합니다 vagrant ssh-config. 이것은 잘 알고있는 키를 자신의 개인 키로 변경하고이를 사용할 상자를 준비하려는 경우에 유용합니다.

    또한 경우에 따라 VM에 ssh 기반 자동화를 사용할 수 있습니다. 이 경우 사용중인 키를 아는 것이 유용합니다. 일반 ssh 명령을 사용할 수 있습니다.ssh -i keyfile ..

  3. vagrant status <vmname>

    이 명령은 vm의 상태에 대한 정보를 제공하는 래퍼입니다. 실행, 저장 및 전원이 꺼질 수 있습니다.

  4. vagrant reload

    적용해야하는 vagrantfile의 구성을 변경하는 경우. VM을 다시로드 할 수 있습니다. 요청하지 않는 한 vagrantfile에 정의 된 프로비저닝을 다시 실행합니다.

    기본 상자에서 생성 한 VM은 파괴되지 않습니다. 즉, 사용자 디렉터리에 폴더를 만든 경우와 같이 VM에 대한 모든 변경 사항이 다시로드 된 후에 그대로 유지됩니다.

    VM의 전원을 끈 다음 VM의 전원이 꺼진 경우에만 적용 할 수있는 특정 구성 변경 사항을 적용하는 재부팅과 같습니다. 그런 다음 전원을 켭니다. 예 : 다른 SATA 가상 디스크를 연결하는 것과 같습니다.

  5. vagrant up

    이것은 구성 파일을 읽습니다. vagrantfile 다음 기본 상자에서 VM을 만듭니다. Base Box는 템플릿과 같습니다. 여기에서 많은 VM을 만들 수 있습니다.

    마찬가지로 vagrant destroyVM을 파괴합니다. 이 경우 내부에서 변경 한 모든 내용이 손실됩니다. 하지만 새 VM을 만들 때 미리 정의 된 기본 상태에서 시작할 수 있다는 멋진 아이디어입니다.

정말하고를 사용하는 것과 같이 한 그것에 대해 블로그 .

요약하면 VirtualBox API 및 Commands보다 좋은 래퍼 입니다. VirtualBox 명령 을 살펴보면 일부 기능을 더 잘 이해할 수 있습니다 .


1
이 모든 출력을 어떤 버전의 방랑자에서 얻습니까? 나는 1.0.5를 사용하고 있는데 그런 종류의 것을 얻지 못했습니다. vagrant gem -h당신이 보여준 출력을 제공하지만 다른 모든 사람들은 전혀 유용하지 않다고 말합니다.
DougW 2013

2
Vagrant 1.2는 거꾸로 된 것 같습니다. 예를 들면, vagrant init -h사용법 : 그냥이 있습니다 방랑 초기화 [박스 이름] [박스 URL] -h이 도움말 인쇄 --help
스티브 베넷

34

언제 변경되었는지 확실하지 않지만 현재 버전 (1.6.3)에는 적절한 명령 목록이 있으며 실행 vagrant list-commands하면 훨씬 더 완전한 목록이 제공됩니다.

box             manages boxes: installation, removal, etc.
connect         connect to a remotely shared Vagrant environment
destroy         stops and deletes all traces of the vagrant machine
docker-logs     outputs the logs from the Docker container
docker-run      run a one-off command in the context of a container
global-status   outputs status Vagrant environments for this user
halt            stops the vagrant machine
help            shows the help for a subcommand
init            initializes a new Vagrant environment by creating a Vagrantfile
list-commands   outputs all available Vagrant subcommands, even non-primary ones
login           log in to Vagrant Cloud
package         packages a running vagrant environment into a box
plugin          manages plugins: install, uninstall, update, etc.
provision       provisions the vagrant machine
rdp             connects to machine via RDP
reload          restarts vagrant machine, loads new Vagrantfile configuration
resume          resume a suspended vagrant machine
rsync           syncs rsync synced folders to remote machine
rsync-auto      syncs rsync synced folders automatically when files change
share           share your Vagrant environment with anyone in the world
ssh             connects to machine via SSH
ssh-config      outputs OpenSSH valid configuration to connect to the machine
status          outputs status of the vagrant machine
suspend         suspends the machine
up              starts and provisions the vagrant environment
version         prints current and latest Vagrant version

단독으로 실행할 때 전체 목록에서 제외 된 유일한 명령 vagrant은 docker 및 rsync 명령입니다. 어쨌든 내 시스템에서.

이것이 결정적인 대답 인 것 같습니다.


8

v1.1의 현재 문서가 더 좋아 보이지만 v1보다 훨씬 덜 완전하다는 것은 정말 안타깝습니다. '적은 것이 더 많다'라는 신조는 문서화 영역에서 작동하지 않습니다 ...

Vagrantfiles와 관련하여 가장 완전한 개요는 vagrant 프로젝트를 초기화 한 후 새로 생성 된 Vagrantfile의 주석에 있습니다. 현재 문서에없는 매개 변수를 언급합니다.

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