개발자는 오늘도 달립니다.
[vagrant] box 만들기 (vdi -> box 패키징) 본문
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