본문 바로가기

개발자는 오늘도 달립니다.

[vagrant] box 만들기 (vdi -> box 패키징) 본문

유틸

[vagrant] box 만들기 (vdi -> box 패키징)

✍21시간 2019. 10. 29. 14:33

vagrant box 생성 방법을 설명 드리겠습니다.

 

- 준비조건

VitualBox 설치

vagrant 설치

 

- 선행작업

box로 만들고자하는 .vdi 이미지를 아래와 같이 몇가지 세팅을 해줘야한다.

1) vagrant 계정 생성

$ groupadd -g 470 vagrant

$ adduser -g vagrant -u 470 vagrant

$ passwd vagrant # vagrant 를 암호로 입력

$ chown vagrant.vagrant /home/vagrant/

 

2) root 계정 권한 부여

$ sudo visudo

# Add the following line to the end of the file.

vagrant ALL=(ALL) NOPASSWD:ALL

 

3) authorized_keys 파일 생성

$cd /home/vagrant

$ mkdir .ssh

$ wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -O .ssh/authorized_keys

$ chmod 0700 .ssh

$ chmod 0600 .ssh/authorized_keys

$ cat .ssh/authorized_keys

 

4) Openssh server 설치 및 sshd_config 파일 설정

$ sudo apt-get install -y openssh-server

$ sudo vi /etc/ssh/sshd_config

Port 22

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

PermitEmptyPasswords no

$ sudo service ssh restart

 

5) 디스크 정리

$ sudo dd if=/dev/zero of=/EMPTY bs=1M

$ sudo rm -f /EMPTY

# Shutdown the machine

$ sudo shutdown -h now

 

 

 

1. 패키징 작업

box 로 패키징하고자 하는 vdi 파일이 있는 주소에서 이동

vagrant package --base "[vdi파일이름]" --out [만들고자하는box이름]

예) .vdi 파일이름이 ubuntu1804_fabric14.vdi 이고, 만들고자하는 box 이름이 ubuntu1804_fabric14.box 일 경우

 - vagrant package --base "ubuntu1804_fabric14" --out ubuntu1804_fabric14.box

소요시간은 약 5분 걸렸고 상황에 따라서는 달라질수 있다. (약5-10분 소요 예상)

 

 

2. box 리스트 추가

vagrant box add [등록할이름] [.box파일]

예) vagrant box add ubuntu1804_fabric14 ubuntu1804_fabric14.box

 

패키징 후 리스트를 추가 하게 되면 ~\.vagrant.d\boxes 해당 경로에 박스가 추가가 된다.

예) C:\Users\lmh\.vagrant.d\boxes\ubuntu1804_fabric14

 

 

3. box 사용하기

일반적으로 vagrant 사용하듯이 init 과정으로 Vagrantfile 생성하고 up 하면 된다.

vagrant init [box 이름]

vagrant up

vagrant ssh

 

 

Comments