Skip to content

Instantly share code, notes, and snippets.

@jayden-lee
Last active January 28, 2020 09:37
Show Gist options
  • Save jayden-lee/afdc4f9882f0d3a5c1162c6396c9cf87 to your computer and use it in GitHub Desktop.
Save jayden-lee/afdc4f9882f0d3a5c1162c6396c9cf87 to your computer and use it in GitHub Desktop.
Vagrant 사용법

Vagrant

Vagrant는 가상머신을 생성하고 관리하기 쉽게 도와준다. 인프라를 코드로써 관리하기 때문에 동일한 환경의 가상 머신을 사용할 수 있다.

  1. Vagrantfile 작성
  2. 가상 머신 구축
  3. SSH로 가상 머신 접속

Vagrant 초기 파일 생성

생성된 Vagrantfile의 설정 값을 필요한 환경에 맞게 수정할 수 있다. 예를 들어 가상 머신 구축 후 필요한 패키지를 설치하는 스크립트를 실행할 수 있다.

vagrant init

Vagrantfile 예제 파일

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.hostname = "demo"
  config.vm.synced_folder ".", "/home/vagrant/sync", disabled: true
  config.vm.network :private_network, ip: "192.168.0.1"
  config.vm.provision "shell", inline: $script
end

$script = <<SCRIPT
  yum -y install epel-release
  yum -y install nginx
  echo "hello, vagrant" > /usr/share/nginx/html/index.html
  systemctl start nginx
SCRIPT

가상 머신 실행

vagrant up

가상 머신 종료

vagrant halt

가상 머신 ssh 접속

vagrant ssh

가상 머신 삭제

vagrant destroy

Provision 적용

이미 가상 머신이 구축되고 나서 Provision을 설정한 경우에 이를 반영하기 위해서는 두 가지 방법이 있다.

  1. 가상 머신을 삭제하고 새로 구축
  2. vagrant provision 명령을 통해 지정된 부분만 다시 실행
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment