Vagrant - 기본

윈도(Windows)를 주로 사용하지만 리눅스 환경이 필요한 경우가 많아서 Vagrant를 그간 꾸준히 사용해 왔다. 정리를 위해 Vagrant에 대한 개요와 기본 사용법을 정리해 본다.

설치

우선 Vagrant와 VirtualBox의 설치가 필요하다. 아래 주소에서 내려받아서 설치한다.

Vagrantfile 생성

vagrant init 명령을 실행하면 현재 폴더에 Vagrantfile을 생성한다. 아래와 같이 Box의 이름을 추가하면 해당 박스를 사용하는 Vagrantfile을 생성한다.

vagrant init bento/centos-7.3

이렇게 생성한 Vagrantfile에는 다량의 주석이 포함되어 있어서 이 주석만 잘 읽어봐도 기본적인 설정 방법을 아는데 무리가 없다.

Box 검색

원하는 리눅스 배포본과 버전의 Box를 아래 주소에서 검색할 수 있다.

각 리눅스 배포본 제공자의 오피셜 박스를 사용하는게 안전하다. 다만 CentOS의 경우는 Bento 프로젝트에서 제공하는 박스도 많이 사용하는 것 같다.

Vagrant machine 생성

vagrant up

위 명령을 Vagrantfile이 있는 폴더에서 실행하면 가상 머신이 생성된다.

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'bento/centos-7.3'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'bento/centos-7.3' is up to date...
==> default: Setting the name of the VM: Documents_default_1496384515554_86818
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/daniel/vagrant-test

Vagrant machine에 SSH로 접속

vagrant ssh

위 명령을 Vagrantfile이 있는 폴더에서 실행하면 vagrant 사용자로 가상 머신에 SSH로 접속이 된다.
PuTTY 등의 SSH 클라이언트로 접속하려면 127.0.0.1:2222에 vagrant로 접속하면 된다. 암호 또한 vagrant다. 2222 포트로 접속하는 이유는 기본으로 가상 머신의 22 포트와 호스트 머신의 2222 포트가 port forwarding 방식으로 연결되어 있기 때문이다. 이미 다른 가상 머신이 2222 포트를 사용 중이면 다른 포트가 자동으로 할당되며, 이는 실행 로그를 통해 알아내면 된다.

Vagrant machine을 다루는 기본 명령

삭제(terminate)

vagrant destroy

정지(shutdown, poweroff)

vagrant halt

가상 머신을 끈다.

재시작(reboot, halt and up)

vagrant reload

가상 머신을 재시작한다. 정지 후 시작하는 것과 동일하다.

일시 중지(suspending)

vagrant suspend

현재의 동작 상태를 저장한 상태로 정지한다. 다시 시작하면 부팅 과정 없이 저장한 지점에서 바로 시작한다.

다시 시작(resume)

vagrant resume

일시 중지 상태의 가상 머신을 이전 지점에서 다시 시작한다.

상태 확인(status)

vagrant status

가상 머신의 상태를 확인한다. 정지 상태면 poweroff로 표시되고 정상 동작 중이면 running으로 표시된다.


EOF

신고