我有一个Vagrantfile,其中有多个提供程序,并且它们不能使用相同的synced_folder类型。如何更改每个提供商部分中的所有synced_folder类型?我想避免为每个提供程序重复synced_folder定义。
config.vm.synced_folder "prog", "/home/vagrant/prog", type: "virtualbox"
# more synced folders
config.vm.provider "docker" do |docker, override|
override.vm.box = nil
docker.build_dir = "."
# change all synced_folder types here?
答案 0 :(得分:0)
config.vm.synced_folder
是一个方法调用,它附加到VM配置对象内部的@__synced_folders
数据结构中。
一种实现方法是在synced_folder
声明中保留未设置的类型,然后为每个提供程序将allowed_synced_folder_types
设置为所需类型的数组。另一种方法可能是声明一个synced_folder
参数的本地数组,在每个提供程序配置中对其进行循环以将所需的类型传递给synced_folder
。
override.vm.allowed_synced_folder_types = [:virtualbox, :rsync]