如何将已下载的.box
文件添加到Vagrant可用箱子的列表中?这个.box
文件保存在一个外部驱动器上。
我尝试运行vagrant box add my-box d:/path/to/box
,但Vagrant将路径解释为URL。
vagrant box add my-box file:///d:/path/to/file.box
必须符合URL格式。
vagrant box add my-box ./path/to/mybox.box
命令,会发生什么? - Rakib-f
参数来强制重新下载并替换已存在的 Vagrant Box。例如:vagrant box add -f my-box http://some-url
。 - Brad Parksvagrant box add my-box name-of-the-box.box
vagrant init my-box
vagrant up
只是想查看状态
vagrant status
vagrant init
和vagrant up
,我的vagrant虚拟机正在运行。但我无法通过SSH连接。当我运行 vagrant ssh
时,它会显示“您正在尝试SSH登录的机器已配置为使用基于密码的身份验证。 Vagrant无法为您输入密码。如果提示输入密码,请输入在Vagrantfile中配置的相同密码。”,但我没有在Vagrantfile
中配置任何内容。我只是使用自动创建的Vagrantfile
。 当我运行cat Vagrantfile
时,我找不到任何称为密码或pem或任何东西的东西。 - Rakibvagrant ssh
要求输入密码,那么很有可能密码是 vagrant
。 - codewario尝试切换到保存.box
文件的目录。
运行vagrant box add my-box downloaded.box
,这可能会起作用,因为它避免了绝对路径(在Windows上?)的问题。
vagrant init
和 vagrant up
命令,我的 vagrant box 已经运行起来了。但是我无法通过 ssh 连接。当我执行 vagrant ssh
命令时,它会显示 "The machine you're attempting to SSH into is configured to use password-based authentication. Vagrant can't script entering the password for you. If you're prompted for a password, please enter the same password you have configured in the Vagrantfile.",而我在 Vagrantfile
中没有配置任何内容。我只是使用了 vagrant init
命令自动创建的 Vagrantfile
。当我执行 cat Vagrantfile
命令时,我没有看到任何称为密码或 pem 或其他任何东西的内容。 - Rakib如果不想使用下载的盒子,可以创建一个包含元数据的json文件。这样可以应用一些额外的细节。例如,要导入盒子并指定其版本,请创建文件:
{
"name": "laravel/homestead",
"versions": [
{
"version": "7.0.0",
"providers": [
{
"name": "virtualbox",
"url": "file:///path/to/box/virtualbox.box"
}
]
}
]
}
然后使用参数运行vagrant box add
命令:
vagrant box add laravel/homestead /path/to/metadata.json
解决Windows系统的方法:
.box
文件的文件夹vagrant box add --name 我的盒子名称 '我的盒子名称.box'
vagrant box list
应该会在列表中显示新添加的盒子解决MAC系统的方法:
.box
文件的文件夹vagrant box add --name 我的盒子名称 "./我的盒子名称.box"
vagrant box list
应该会在列表中显示新添加的盒子首先将Vagrantfile文件重命名,然后
vagrant box add new-box name-of-the-box.box
vagrant init new-box
vagrant up
只是检查状态
vagrant status
that's all
F:\PuppetLab\src\boxes>vagrant box add precise32 file:///F:/PuppetLab/src/boxes/precise32.box
==> box: Adding box 'precise32' (v0) for provider:
box: Downloading: file:///F:/PuppetLab/src/boxes/precise32.box
box: Progress: 100% (Rate: 1200k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'precise32' (v0) for 'virtualbox'!
只是为另一个案例添加描述。我需要在多个Ubuntu机器上安装类似的基于Vagrant Ubuntu 18.04的配置。使用vagrant up
和Vagrantfile
下载bionic64 box到一个机器上,然后将文件夹.vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64
复制到其他机器上。
vagrant box add my-box /path/to/file.box
命令运行正常。 - maan81