기본 유저, 패스워드
user : vagrant
password : vagrant
user: root
password: vagrant
기본적으로 호스트(vagrant ssh-config)의 공개키를 생성한 가상머신에서 가지고 있기때문에(/home/vagrant/.ssh/authorized_keys) 이를 삭제하지 않도록 한다.
초기 세팅
$ vagrant init
박스 관련 명령어
# 조회
$ vagrant box list
# 추가
$ vagrant box add bento/ubuntu-18.04
# 이름 지정 추가
$ vagrant box add centos_private https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box
# 삭제
$ vagrant box remove [name]
가상머신 관련 명령어
# 조회
$ vagrant status [name|id]
$ vagrant global-status
# 실행 (실행 시 박스가 없으면 자동으로 다운로드 받는다)
$ vagrant up [name|id] [--color]
# 접속
$ vagrant ssh [name|id] [--extra_ssh_args]
# 종료
$ vagrant halt [name|id]
$ vagrant halting [name|id]
# 세팅 적용 (ex: 네트워크 설정)
$ vagrant reload [name|id]
# 프로비저닝 적용
$ vagrant provision [vm-name] [--color]
# 삭제
$ vagrant destroy
$ vagrant destory --force
$ vagrant destory --parallel
# 현재 실행 상태 저장,종료(디스크와 램을 사용하고 있는 상태로 종료)
$ vagrant suspend [name|id]
# suspend 해제 (vagrant up 역시 가능)
$ vagrant resume [name|id]
# ssh-config 조회(network forwarded port 설정되있어야함)
$ vagrant ssh-config
# 스냅샷 조회
$ vagrant snapshot list
# 스냅샷 저장
$ vagrant snapshot save [vm-name] [name]
# 스냅샷 복원
$ vagrant snapshot restore [vm-name] [name]
# 스냅샷 삭제
$ vagrant snapshot delete [vm-name] [name]
Share
# Vagrantfile 공유
$ vagrant login vagrant share
Providers
# default provider 변경
$ vagrant up –provider=vmware_fusion vagrant up –provider=aws
Networking
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise32"
config.vm.provision :shell, path: "bootstrap.sh"
# 호스트의 4567 를 게스트 80으로 연결
# 브라우져에서 127.0.0.1:4567 연결하면
# 호스트의 apache 80번 포트로 연결된다.
config.vm.network :forwarded_port, host: 4567, guest: 80
end
Plugin
$ vagrant plugin install
$ vagrant plugin license
$ vagrant plugin list
$ vagrant plugin uninstall
$ vagrant plugin update
Etc
# 최신 업데이트 된 박스들 조회
$ vagrant box outdated
# 박스 삭제(address)
$ vagrant remove <address>
# 현재 실행중인 virtualbox 를 재사용 가능한 box로 만든다
$ vagrant package
$ vagrant update
$ vagrant repackage
참고 사항
export VAGRANT_FORCE_COLOR=true
하거나 환경변수 등록하면 --color
안해도 적용됨