在运行配置脚本后,是否可以让流浪同步文件夹?
我需要将来宾文件夹与主机文件夹同步,但主机文件夹必须为空才能使设置脚本工作。用户和组也需要存在。在配置脚本运行之前,其中的非可以存在。我的配置脚本创建用户和组。
同步文件夹是Magento主题。Magento首先需要安装,然后我才能同步目录,因为Magento不会安装到非空目录中。
这是我的流浪档案
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-18.04"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provision "shell", path: "provision.sh"
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.synced_folder "app/design/frontend",
"/var/www/mage/app/design/frontend",
create: false,
owner: "mage",
group: "www-data"
config.vm.provider "virtualbox" do |vb|
vb.memory = "3000"
end
end
我已经研究了触发器,但我可以弄清楚如何在触发器中使用config.vm.synced_folder
。
有什么建议吗?
我找到了一个解决方案。
在Vagrantfile
中,将config.vm.synced_folder
设置为false(也适用于nfs
(:
config.vm.synced_folder "app/design/frontend",
"/var/www/mage/app/design/frontend",
type: "rsync",
disabled: false,
owner: "mage",
group: "www-data"
现在运行vagrant up
。一旦服务器配置完成,将禁用更改为true
,如下所示:
config.vm.synced_folder "app/design/frontend",
"/var/www/mage/app/design/frontend",
type: "rsync",
disabled: true,
owner: "mage",
group: "www-data"
现在运行vagrant reload
,文件夹将同步。
医生说
disabled
(布尔值(-如果为true,则此同步文件夹将被禁用,并且将不会进行设置这可用于禁用以前定义的同步文件夹,或基于某些外部因素有条件地禁用定义。
这让我相信这可能是解决我的问题的既定方法之一。
有一个功能请求在提供后装载文件夹,该请求似乎已关闭且未得到解决,因此我认为没有任何其他方法:https://github.com/hashicorp/vagrant/issues/936