vagrant 나만의 패키지 box 를 만들어 보자.
vagrant 나만의 패키지 box 를 만들어 보자.
공개된 box 를 사용하다 보면 조금씩 내 입맛에 맞게 변경하게 된다.
그 상태를 패키지로 만들어 본다.
관련 링크 : https://docs.vagrantup.com/v2/virtualbox/boxes.html
# vagrant package --base {가상머신이름} --output {박스이름}
형태로 만들어 준다. 그렇지만 언제나 우리를 당황하게 만드는 에러메시지
# vagrant package --base nhost --output nhost.box
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:306:in `id=': undefined method `children' for nil:NilClass (NoMethodError)
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:438:in `state'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/plugins/providers/virtualbox/action/created.rb:11:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builtin/call.rb:43:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/runner.rb:66:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/runner.rb:66:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:196:in `action_raw'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:173:in `block in action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/environment.rb:434:in `lock'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:161:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:161:in `action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/plugins/commands/package/command.rb:83:in `package_vm'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/plugins/commands/package/command.rb:66:in `package_base'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/plugins/commands/package/command.rb:42:in `execute'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/cli.rb:42:in `execute'
from /opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/environment.rb:252:in `cli'
from /opt/vagrant/bin/../embedded/gems/gems/vagrant-1.6.3/bin/vagrant:166:in `<main>'
어! 뭐가 문제지.
답은 --base {가상머신이름}
가상머신 이름을 정확하게 적어줘야 한다.
ls ~/VirtualBox VMs 안에 가상머신들이 있다. 그 이름(폴더명)을 적어준다.
또는
# VBoxManage list vms
결과는 이런 식이다.
"nhost_default_1406732053960_27414" {196dbe3a-1c2f-4414-83f4-dbb612a67059}
이제 제대로 적어준다.
# vagrant package --base nhost_default_1406732053960_27414 --output nhost.box
다음처럼 박스가 생성된다. 가상머신이 실행중이면 먼저 중지된다.
==> nhost_default_1406732053960_27414: Attempting graceful shutdown of VM...
==> nhost_default_1406732053960_27414: Clearing any previously set forwarded ports...
==> nhost_default_1406732053960_27414: Exporting VM...
==> nhost_default_1406732053960_27414: Compressing package to: /opt/nhost.box
해당 위치에 보면 OOO.box 파일이 생겼을 것이다.
사용은 다음처럼 한다. 추후 vagrant init nhost 로 사용가능하다.
# vagrant box add nhost /opt/nhost.box
==> box: Adding box 'nhost' (v0) for provider:
box: Downloading: file:///opt/nhost.box
==> box: Successfully added box 'nhost' (v0) for 'virtualbox'!
정상적으로 box 가 등록된다.
'배우는일' 카테고리의 다른 글
flutter doctor - Xcode 이슈 (0) | 2024.01.21 |
---|---|
맥에서 npm 을 설치하려면 어떤게 좋을까? (0) | 2018.08.20 |
vagrant 의 용량이 모자라요. 디스크를 추가해서 늘려보자. (0) | 2014.07.31 |
vagrant 의 GuestAdditions 의 버전이 다르다고 나올 때 (0) | 2014.07.25 |
vagrant up 시 vboxsf 관련 에러(공유폴더) (0) | 2014.07.24 |
WRITTEN BY
- 1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.