Vagrant run 命令:在哪里、是什么以及为什么?

Vagrant run 命令:在哪里、是什么以及为什么?

下列的本教程在 Vagrant 网站上,我可以非常轻松地启动并运行虚拟机,但现在我正尝试通过分叉下面链接的存储库来创建不同的虚拟机。

README 在这个存储库告诉我这样做:

$ git clone git://github.com/honza/django-chef.git
$ cd django-chef
# add yourself to the "users" array in the Vagrantfile
$ sudo echo "127.0.0.1 example.example.com" >> /etc/hosts
$ vagrant up
$ fab vagrant:honza bootstrap  # replace with your name
$ vagrant ssh    
$ run            # ME (doctordoder): This command is not found?

“然后打开浏览器http://example.example.com:3456“”。

不同之处在于,另一个教程停止于vagrant up,然后网站即可访问。

当我尝试使用这个更困难的存储库执行这些额外的步骤时,我得到了这个(我在运行完这些命令后执行了这些命令 vagrant up 在 django-chef 目录中成功)
我的终端图片

vagrant 中所谓的“运行”命令在哪里?为什么我需要它?为什么我无法使用它?

答案1

我认为你错过了两个步骤,或者它们对你不起作用:

fab vagrant:honza bootstrap"

这是一个 fabric 命令,fabric 是一个用于通过 ssh 管理系统的部署和执行工具。(http://docs.fabfile.org/en/1.4.0/tutorial.html

您可以像这样在您的 Mac 上安装它(此安装在 Python 虚拟环境中,因此它不会影响您的整个机器)

cd django-chef
# create a python virtual environment in .venv
virtualenv .venv
# activate the python virtual environment you just created
. .venv/bin/activate
# install the fabric python package
pip install fabric

此后,fab vagrant:honza bootstrap命令将为您运行。

完成后,在您的虚拟机中,您将有一个可运行的运行命令,它将启动 django 开发服务器:

simonm@MacBook:~/src/django-chef (master) AWS=jdr $ vagrant ssh
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686)

 * Documentation:  https://help.ubuntu.com/

148 packages can be updated.
65 updates are security updates.

Welcome to your Vagrant-built virtual machine.
Last login: Tue Jan 28 12:31:55 2014 from 10.0.2.2
(example)vagrant@example:/opt/example/apps/example/src$ run
Validating models...

0 errors found
January 28, 2014 - 06:33:25
Django version 1.5.1, using settings 'example.settings_server'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

希望对您有所帮助。
其中大部分与 vagrant 无关,但由于 django-chef repo 的原始文档含糊不清或假设您知道某些内容(例如您需要安装 fabric 才能在 vagrant 管理的 VM 中实际执行 django 部署)

相关内容