놀랍게도 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 생성, 구성 적용, 부팅
이 권리가 있습니까? 나머지는 무엇입니까? reload
및 destroy
/ 의 정확한 차이점에 대해서는 아직 명확하지 않습니다 up
.
답변
나는 vagrantup의 문서 가 더 짧다는 것에 동의합니다 .
일부 정보는 명령 도움말 시스템에서 수집 할 수 있습니다.
-
예 :
gem
명령.인수없이 명령 만 입력하면
vagrant gem -h
필요한 정보가 생성됩니다.vagrant gem
RubyGems 시스템을 통해 Vagrant 플러그인을 설치하는 데 사용됩니다. 사실로,vagrant gem
은 실제gem
인터페이스 의 프론트 엔드 뿐이며, Vagrant는 gem이 설치된 사용자 정의 디렉토리를 설정하여 시스템 gem과 격리된다는 점이 다릅니다. -
Vagrant ssh-config
:내부적으로 실행하면
vagrant ssh
으로 VM에 ssh를 . 잘 알려진 ssh 키를 활용하고 있습니다. 이 키에 대한 정보는에서 제공합니다vagrant ssh-config
. 이것은 잘 알고있는 키를 자신의 개인 키로 변경하고이를 사용할 상자를 준비하려는 경우에 유용합니다.또한 경우에 따라 VM에 ssh 기반 자동화를 사용할 수 있습니다. 이 경우 사용중인 키를 아는 것이 유용합니다. 일반 ssh 명령을 사용할 수 있습니다.
ssh -i keyfile ..
-
vagrant status <vmname>
이 명령은 vm의 상태에 대한 정보를 제공하는 래퍼입니다. 실행, 저장 및 전원이 꺼질 수 있습니다.
-
vagrant reload
적용해야하는 vagrantfile의 구성을 변경하는 경우. VM을 다시로드 할 수 있습니다. 요청하지 않는 한 vagrantfile에 정의 된 프로비저닝을 다시 실행합니다.
기본 상자에서 생성 한 VM은 파괴되지 않습니다. 즉, 사용자 디렉터리에 폴더를 만든 경우와 같이 VM에 대한 모든 변경 사항이 다시로드 된 후에 그대로 유지됩니다.
VM의 전원을 끈 다음 VM의 전원이 꺼진 경우에만 적용 할 수있는 특정 구성 변경 사항을 적용하는 재부팅과 같습니다. 그런 다음 전원을 켭니다. 예 : 다른 SATA 가상 디스크를 연결하는 것과 같습니다.
-
vagrant up
이것은 구성 파일을 읽습니다.
vagrantfile
다음 기본 상자에서 VM을 만듭니다. Base Box는 템플릿과 같습니다. 여기에서 많은 VM을 만들 수 있습니다.마찬가지로
vagrant destroy
VM을 파괴합니다. 이 경우 내부에서 변경 한 모든 내용이 손실됩니다. 하지만 새 VM을 만들 때 미리 정의 된 기본 상태에서 시작할 수 있다는 멋진 아이디어입니다.
정말하고를 사용하는 것과 같이 한 그것에 대해 블로그 .
요약하면 VirtualBox API 및 Commands보다 좋은 래퍼 입니다. VirtualBox 명령 을 살펴보면 일부 기능을 더 잘 이해할 수 있습니다 .
답변
언제 변경되었는지 확실하지 않지만 현재 버전 (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 명령입니다. 어쨌든 내 시스템에서.
이것이 결정적인 대답 인 것 같습니다.
답변
v1.1의 현재 문서가 더 좋아 보이지만 v1보다 훨씬 덜 완전하다는 것은 정말 안타깝습니다. ‘적은 것이 더 많다’라는 신조는 문서화 영역에서 작동하지 않습니다 …
Vagrantfiles와 관련하여 가장 완전한 개요는 vagrant 프로젝트를 초기화 한 후 새로 생성 된 Vagrantfile의 주석에 있습니다. 현재 문서에없는 매개 변수를 언급합니다.