我的 Vagrant box 是从基础 linux(科学 linux)构建的,在配置期间(使用 shell 脚本),安装了 Apache。
我最近将 Vagrant 文件 (v2) 更改为:
config.vm.synced_folder "public", "/var/www/sites.d/example.com",
:owner => "apache", :group => "apache"
如果盒子已经配置好并且刚刚重新启动,那么效果很好。
现在,在vagrant destroy && vagrant up
我得到错误之后:
mount -t vboxsf -o uid=`id -u apache`,gid=`id -g apache`
/var/www/sites.d/example.com /var/www/sites.d/example.com
id: apache: User does not exist
这很清楚 - 在初始运行期间,尚未安装 apache。
一个丑陋的解决方法当然是对注释掉的内容进行基本配置,将其synced_folder
注释掉,然后重新启动。
有什么干净的技巧可以解决这个问题吗?尤其是以vagrant up
始终不间断运行的方式,即使盒子是新的。