在vagrant文档中,我没有找到如何在使用"vagrant package"时从已包含的Vagrantfile中引用同一基线盒子中的已包含文件的提示。有人可以帮忙吗?
详情:
当为vagrant从头创建一个新的基线盒子时,您可以自由使用标准的vagrant不安全的ssh密钥或创建一个自定义的新密钥。我选择了后者。当我使用这个额外行的Vagrantfile时,我的自定义密钥与这个新的基线盒子一起正常工作:
完成后,每个团队成员输入以下内容即可快速轻松地获取基于custom.box的虚拟机:
为了创建经过调整的基准框,我输入以下内容:
当我提取custom2v.box时,我可以看到这棵��:
而“include /_Vagrantfile”中包含了我的 Vagrantfile.pkg 文件内容。我可以按照以下方式将该框添加:
但是当我执行以下操作时:
我收到了以下错误信息:
详情:
当为vagrant从头创建一个新的基线盒子时,您可以自由使用标准的vagrant不安全的ssh密钥或创建一个自定义的新密钥。我选择了后者。当我使用这个额外行的Vagrantfile时,我的自定义密钥与这个新的基线盒子一起正常工作:
config.ssh.private_key_path = "custom_key_file"
现在我决定将我的基线盒分发给我的团队成员。这并不是问题。只需要输入:
vagrant package --output custom.box
所有其他团队成员都会将“custom_key_file”复制到项目根目录,并创建一个包含以下内容的“Vagrantfile”(使用版本控制系统完成):
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "custombox"
config.ssh.private_key_path = "custom_key_file"
end
完成后,每个团队成员输入以下内容即可快速轻松地获取基于custom.box的虚拟机:
vagrant box add custombox custom.box
vagrant up
运行正常。
现在我想在分发之前对我的基准盒子进行一些微调。我想包括"custom_key_file"和一个名为"Vagrantfile.pkg"的文件,该文件如下所示:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "custombox"
config.ssh.private_key_path = "custom_key_file"
end
为了创建经过调整的基准框,我输入以下内容:
vagrant package --output custom2v.box --vagrantfile Vagrantfile.pkg --include custom_key_file
当我提取custom2v.box时,我可以看到这棵��:
C:.
│ box-disk1.vmdk
│ box.ovf
│ Vagrantfile
│
└───include
custom_key_file
_Vagrantfile
而“include /_Vagrantfile”中包含了我的 Vagrantfile.pkg 文件内容。我可以按照以下方式将该框添加:
vagrant box add custombox2v custom2v.box
针对一个新的项目,现在很容易将其启用于 Vagrant。只需添加一个名为 "Vagrantfile" 的文件,并按照以下方式进行设置:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "custombox2v"
end
但是当我执行以下操作时:
vagrant up
我收到了以下错误信息:
[...]
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:
SSH:
* `private_key_path` file must exist: custom_key_file
Can anyone help?