가상 머신에 Vagrant를 사용 중이며 프로덕션 환경을 시도하고 테스트하기 위해 자체베이스 박스를 만들고 싶습니다.``metadata.json` 파일을 사용하여 VMware Fusion으로 만든 Vagrant 상자의 버전을 어떻게 설정합니까?
VMware Fusion Pro 8.1.1을 사용하여 일반 데비안 기본 상자를 만들고 상자를 add
까지 만들었지 만 상자 metadata.json을 사용하여 버전 번호를 설정하고 싶습니다. 나는 유일한 필수 키가 "provider"
입니다 vagrant doc에 읽고, 그 잘 작동하지만 vagrant box list
내가 v0
work-debian7-11-64 (vmware_fusion, 0)
을 얻을 때 나는 업데이트 metadata.json
파일을 다시 시도 제거 할 때 나는 그것을 볼 수 있습니다.
$ vagrant box remove work-debian7-11-64
Removing box 'work-debian7-11-64' (v0) with provider 'vmware_fusion'...
나는 설명서를 따라 같은 "version":"0.1.0"
것을 사용하는 경우 : 나는 add
상자에 갈 때
{
"name": "hashicorp/precise64",
"description": "This box contains Ubuntu 12.04 LTS 64-bit.",
"versions": [
{
"version": "0.1.0",
"providers": [
{
"name": "virtualbox",
"url": "http://somewhere.com/precise64_010_virtualbox.box",
"checksum_type": "sha1",
"checksum": "foo"
}
]
}
]
}
내가 오류와 끝까지합니다.
{
"name": "workalicious/debian7-11-64",
"description": "Debian 7.11.0 64-bit web server.",
"versions": [{
"version": "0.1.0",
"providers": [{
"name": "vmware_fusion"
}]
}]
}
그것은 내가 잘못하고있어 뭔가가 있는지 궁금 해요 :이 출력의 일부입니다
$ vagrant box add work-debian7-11-64 debian-7.11-64.vmware.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'work-debian7-11-64' (v0) for provider:
box: Unpacking necessary files from: file:///Users/dave/Code/code_resources/vagrant_examples/vagrant-bird-box-vmware-debian-nodesktop/debian-7.11-64.vmware.box
/opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/box_collection.rb:155:in `block (3 levels) in add': undefined method `to_sym' for nil:NilClass (NoMethodError)
이 내 metadata.json
파일입니다 (이것은 from
더 세부 계속) metadata.json
의 형식? provider
키만 사용하면 box add
키는 오류없이 작동합니다. 나는 Altas와 Packer가 있다는 것을 알고 있지만, 나는 이것을 지역적으로 시도하고 싶었다.
참고로, 'vagrant box add'에 전달할 json 파일에는 원하는 이름을 사용할 수 있습니다. – tectux