DevOps, Infra

베이그런트 (Vagrant) Cheat Sheet

seulseul 2023. 1. 24. 14:15

Vagrant Cheat Sheet

vagrant 명령줄에서 입력하면 사용 가능한 모든 명령목록을 소개한다.
✔ 이 명령을 실행 할때 Vagrantfile 과 동일한 디렉토리에 있는지 확인해야한다.

Creating a VM

  • vagrant init 지정된 기본 이미지를 사용하지않고, Vagrantfile 및 ./.vagrant 디렉토리로 Vagrant 를 초기화한다. vagrant up 을 수행하기 전에 Vagranfile 에서 기본 이미지를 지정해야한다.
  • vagrant init <box path> Vagrant 를 특정 box 로 초기화한다. 원하는 box 이미지는 public Vagrant box catalog 에서 확인 할수 있다.
  • For example, vagrant init ubuntu/focal64

Starting a VM

# Vagrant 환경을 시작한다. (첫번째 실행한 vagrant up 에서만 프로비저닝됨)
vagrant up 
# 정지된 머신을 다시 시작한다. (두번째 실행한 vagrant up 에서도 동일하게작동함)
vagrant resume
# Vagrant 머신을 강제로 재 프로비저닝한다.
vagrant provision
# Vagrant machine 을 재 시작하고, Vagrantfile 을 새로운 설정으로 로딩
vagrant reload
# restart the virtual machine and force provisioning
vagrant reload --provision

Getting into a VM

#  vagrant 에 SSH 접속
vagrant ssh
# Vagrantfile 에서 box name 을 지정했다면, 
# 아무 디렉토리에서나 box 이름으로 ssh 접속을 할 수 있다.
vagrant ssh <boxname>

Stopping a VM

# vagrant machine 중지
vagrant halt 
# 가상 머신 일시 중단(상태 기억)
vagrant suspend

Cleaning Up a VM

# vagrant machine 을 중지하고, 모든 흔적을 삭제함
vagrant destroy 
# 위와 동일한 동작을 하며, 확인절차 없이 강제로 진행
vagrant destroy -f

Boxes

# 설치된 박스 리스트를 확인
vagrant box list 
# box image 를 지정된 위치에 다운
vagrant box add <name> <url> 
# vagrant box 의 업데이트를 확인
vagrant box outdated 
# 머신에서 box를 삭제
vagrant box remove <name> 
# 실행 중인 virtualbox 환경을 재사용 가능한 box 에 패키징
vagrant package

Saving Progress

# vm-name은 종종 default. 나중에 롤백할 수 있도록 저장할 수 있다.
vagrant snapshot save [options] [vm-name] <name>

Tips

#  vagrant 버전
vagrant -v
#  vagrant machine 상태 출력
vagrant status
# 모든 vagrant 머신의 상태 출력
vagrant global-status 
# 위와 동일하지만 유효하지 않은 항목을 정리함
vagrant global-status --prune 
# 디버그 플래그를 사용하여 출력의 자세한 정도를 높임
# use the debug flag to increase the verbosity of the output
vagrant provision --debug 
# 코드를 배포하도록 vagrant 를 구성할 수 있다.
# yes, vagrant can be configured to deploy code
vagrant push 
#  -- vagrant up 프로비저닝을 실행하고 강제 실행하며 모든 출력을 파일에 기록합니다.
vagrant up --provision | tee provision.log

Plugins

  • vagrant-hostsupdater : vagrant box 를 시작/중지할 때마다 파일을 자동으로 $ vagrant plugin install vagrant-hostsupdater 업데이트합니다 ./etc/hosts

Memo

  • VVV 를 사용하는 경우 xdebug를 실행 vagrant ssh한 다음 xdebug_on가상 머신의 CLI에서 활성화할 수 있습니다.

'DevOps, Infra' 카테고리의 다른 글

[Ansible] include vs import  (0) 2023.03.09
vagrant multi machine (multi vm)  (0) 2023.02.24
[DevOps] Ansible 이란?  (0) 2023.01.17
[k6] 성능테스트 도구  (0) 2023.01.10
[Keycloak] MSA 인증/인가 Open Source Solution Keycloak ?  (0) 2023.01.05