我尝试创建一个Vagrant框,在我运行vagrant up
时安装一些服务。
为此目的,我正在使用这些服务:
我使用Berkshelf来处理食谱依赖。
某些烹饪书出现问题,而这些烹饪书根本不会安装。 目前我正在尝试从我在Chef Supermarket上发现的食谱中安装nginx - nginx cookbook。
Berksfile:
source "https://supermarket.chef.io"
cookbook "nginx"
Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "CentOS-6.5-minimal-0.1.1"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "vagrant"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
config.berkshelf.enabled = true
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = ["cookbooks"]
chef.add_recipe "nginx"
end
end
我尝试使用vagrant provision
的组合运行vagrant reload
并关闭框并运行vagrant up
我最接近确定问题原因的是 this stacktrace ,我在运行vagrant provision
时得到了。
非常感谢您解决此问题的任何帮助。
答案 0 :(得分:0)
这里的关键问题是您使用的是Hashcorp默认框(Starting Chef Client, version 11.8.2
)中附带的Chef版本。此版本太旧,无法使用当前的nginx
食谱。你可能想要使用不包含烘焙版厨师的便当盒,然后通过Vagrant的综合支持来安装它。