SW Engineering/IT 용어, 일반

[vagrant] vagrant로 가상머신 생성하기

SungWookKang 2023. 7. 1. 11:51
반응형

[vagrant] vagrant 가상머신 생성하기

 

l  Vagrant

 

Vagrant(베이그랜트) Hashicorp(하시코프)에서 개발한 가상머신 관리를 자동화 도구로 루비 기반의 DSL 작성할 있으며, 가상머신 생성 관리, 환경 구축을 위한 프로비저닝까지 관리할 있다.

 

l  vagrant 활용한 개발 환경 구축하기 : https://sungwookkang.com/1523

 

이번 포트스에서는 vagrant 가상머신을 생성하는 방법을 설명한다. Vagrant 사용자가 수작업으로 진행하는 작업을 설정 파일을 통해서 자동으로 생성 관리를 도와주는 도구이지 vagrant 자체가 가상머신의 역할을 하는 것은 아니다. 따라서 Vagrant 사용하여 가상머신을 생성하기 위해서는 Virtualbox Hyper-V, parallels같은 가상머신 툴이 설치가 되어 있어야 한다. 가상머신 설치에 대한 내용은 이미 다른 정보가 많기 때문에 여기에서 다루지 않는다.

 

Vagrant 가상머신을 만들기 위해서는 사용할 box 추가해야 한다. Box 가상머신을 생성할 OS 대한 이미지와 OS 포함될 다양한 소프트웨어들을 포함한 패키지이다. 우선 box 추가하기 전에 어떤 이미지들이 제공되는지 box 사용할 주소를 확인하기 위해 아래 사이트에 접속하여 목록을 확인할 있다

l  HashiCorp 공식 box : https://app.vagrantup.com/boxes/search

 

 

 

이번 포스트에서는 Centos 설치하기 때문에 Centos 검색하여 Centos 8  정보를 확인한다. Box추가에 사용할 파라메터 이름을 확인할 있다.

 

Vagrant box 등록하는 방법은 box add 라는 명령을 사용한다. 위에서 확인한 경로를 사용하여 Centos8 box 등록한다. 등록과정에서 어떤 플랫폼의 box 사용할 것인지 선택하는 단계가 있으며 각자의 플랫폼에 맞는 박스 타입을 선택하면 된다. 이번 포스트에서는 virtualbox 사용하였다. 박스를 등록하면 가상머신 생성에 필요한 이미지를 다운로드 받는다.

vagrant box add generic/centos8

 

 

현재 등록되어 있는 박스의 목록을 확인하기 위해서는 box list 명령을 사용한다.

vagrant box list

 

 

등록된 박스 삭제는 box remove 명령을 사용한다.

vagrant box remove generic/centos8

 

 

가상머신을 생성할 디렉터리로 이동하여 가상머신 설정 파일을 생성한다, init 명령을 사용하며, 이때 파라메터 값으로 박스 이름을 입력한다. 이니셜 작업이 완성되면 Vagrantfile이라는 파일이 생성된 것을 확인할 있다.

vagrant init generic/centos8

 

 

설정파일을 살펴보면 현재 박스의 이미지 정보를 확인할 있다. 아래는 주석을 제외한 내용이다.

Vagrant.configure(“2”) do |config|
config.vm.box = “generic/centos8”

 

 

 

가상머신을 생성하기 위해서는 up 명령을 사용한다. 명령을 실행하면 다운로드 받은 이미지를 사용하여 가상머신이 생성된다.

vagrant up

 

 

 

Virtualbox에서도 가상머신이 생성되는 것을 확인할 있다.

 

생성한 가상머신에 접속하기 위해서는  ssh 명령을 사용하여 접속 한다.

vagrant ssh

 

 

Vagrant 생성한 가상머신을 중지하려면 halt 명령을 사용한다.

Vagrant halt

 

Vagrant 생성한 가상머신을 삭제하려면 destroy 명령을 사용한다. 가상머신을 삭제하려면 선행작업으로 가상머신을 중지해야 한다.

Vagrant destroy

 

 

지금까지 vagrant 활용하여 가상머신을 생성하는 방법에 대해서 알아보았다. 현재는 기본설정으로 가상머신을 생성하였지만, 각자 개발환경을 커스텀 환경으로 구성하기 위해서는 vagrantfile 수정하여 사용할 있다. 환경설정 파일에 대한 수정은 다른 포스트에서 다룰 예정이다.

 

2023-07-01 / Sungwook Kang / https://sungwookkang.com

 

 

Vagrant, 베이그랜트, 개발환경구성, 가상머신

반응형