问题标签 [vagrant]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5852 浏览

bash - 选择流浪者供应商

问题

谁能解释为什么选择 puppet 或 chef vagrant provisioner 比 shell 供应商更好?

背景

我正在开始使用 Vagrant。我遇到的一件事是决定使用哪个配置器。到目前为止,我在使用 shell 配置程序方面取得了一些成功,但要让它可靠地运行,它的工作量比我预期的要多。

目前,我对 ruby​​、puppet 或 Chef 不熟悉,但如果有必要,我很乐意学习其中的任何一个或全部。我早期玩 puppet 和 chef 的经验是,如果其他人的食谱完全符合您的要求,它会非常有效,但做一些非标准的事情意味着回退使用 ruby​​ 编写解决方案。

我知道比较puppet 和 chef的文章,我不太担心使用它们中的哪一个,而不是知道何时以及为什么应该使用它们。

0 投票
0 回答
2012 浏览

mongodb - MongoDB 无法在 NFS 共享上分配数据文件

背景:
我使用 Vagrant (http://vagrantup.com/) 创建一个用于开发的虚拟机。我使用名为 Buildout 的 Python 构建系统来管理和构建我的项目。我使用安装和配置 MongoDB 的 Buildout 配方。它将 MongoDB 数据放入项目中的目录中。当不使用虚拟机时,这一切都很好。Vagrant 已设置为源代码存储库存在于主机上,并由虚拟机通过 NFS 访问。

我想做什么:
我想以流浪用户(在来宾操作系统中)运行 mongod,并在 NFS 共享中拥有数据目录。尝试像这样启动服务器会导致错误:

mongod 无法创建数据文件。错误消息是“警告:posix_fadvise 失败 /nfs_share/mongodb/data/local/local.ns errno:1 Operation not allowed”。这最初表明文件权限是错误的。我不认为它们是因为数据目录是组可写的,而 vagrant 在组“dialout”中,该组是 NFS 共享的组所有者。我的第二个猜测是 NFS 是罪魁祸首。当我在不是 NFS 的文件系统上运行此命令时,一切正常。我不确定出了什么问题。在 MongoDB 邮件列表上的搜索发现了一条消息 ( http://groups.google.com/group/mongodb-user/browse_thread/thread/4129325d3a9a3237 ),有人说如果数据目录不支持,NFS 将无法与 MongoDB 一起工作。 t 支持排他锁。

可能的解决方案:
在存储库中放置一个符号链接,指向非 NFS 位置的数据目录

  • 这就是我目前正在做的事情。这不是很好,因为它不适用于 Buildout 配方,必须手动完成。
  • 没有简单的方法可以确定 Buildout 是否在虚拟机中运行。也许它可以检测文件系统是否为 NFS 并被编写相应的脚本?
  • 将项目的组件放在不同的地方有点烦人。相反,Postgres 数据在别处,为什么不把 MongoDB 数据也放在别处呢?

问题:

  • 我看到的错误实际上与 NFS 有关吗?还是有其他可能的原因?
  • 排他锁是 NFS 的一个特性吗?可以启用/禁用吗?
  • 我在 MongoDB 邮件列表上阅读了有关人们在 NFS 上运行 MongoDB 的报告。是否有任何特殊考虑需要这样做?
0 投票
3 回答
10406 浏览

ruby - 使用 Chef 和 Vagrant 在 Ubuntu 上安装 Ruby 1.9.2

我想用 Ruby 1.9.2 配置一个新的 Ubuntu 10.04 机器。我正在使用 Vagrant 和 Chef Solo 为这个盒子提供我需要的所有其他东西(例如 Rails、Rake、MongoDB)。默认的 Ruby 版本是 1.8.7。

有没有办法在 Vagrant/Chef 配置过程中安装 Ruby 1.9.2?

我在 Chef 网站上阅读了有关使用我自己的引导模板(可能带有刀)的信息,例如这个,但是因为我使用的是 Vagrant,所以我不确定该模板放在哪里——我没有厨师—— repo,一个 .chef 目录,甚至是安装在 /etc/chef 中的任何 Chef 内容。

0 投票
3 回答
2101 浏览

ruby - 厨师食谱:不以 Ruby 开头的 Upstart 守护进程

我想运行一个 ruby​​ mongrel 脚本作为我的供应系统 (CHEF) 的最后一步。因此,我编写了一个新贵 .conf 文件,其中包含以下条目:

但是 log.txt 文件为空并正在运行 netstat -an | grep 3000 什么也没显示。我认为该脚本不可执行,但运行 chmod 并没有改变任何东西。

但是,如果我手动执行脚本,我可以启动服务器

脚本的内容是:

我使用 RVM 和 Ruby 1.8.7、Rubygems 1.3.7 在 Vagrant 上运行。引导配方是:

任何的想法?谢谢

0 投票
3 回答
3514 浏览

django - 你是如何设置你的 Django 开发环境的?

我正在尝试使用启用了Vagrant的 VM 设置本地 Django 开发环境,但我不确定最好的方法是什么。

git clone为生产服务器上的 Django 文件做了一个,并安装了生产服务器在我的本地 VM 上的所有模块。我想避免在本地 VM 上安装数据库,但在会话中遇到了一些问题。本地机器正在使用SESSION_COOKIE_DOMAIN='localhost',而生产正在使用SESSION_COOKIE_DOMAIN='.mydomain.com',这会造成一些混乱。

更不用说在我的开发环境中的 setting.py 上,我必须更改 IP 以指向数据库的公共 IP 地址(从而在安全性上戳个洞),而我的生产 settings.py 使用本地 IP,所以我最终使用了不同的 settings.py 文件。

我可以继续尝试新方法,但我真的必须开始这个项目,我很确定有些人已经想通了。

那么你是如何设置你的 Django 开发环境的呢?

0 投票
2 回答
40279 浏览

vagrant - Vagrant 在哪里保存对 VM 的更改?

我刚从 Vagrant 开始,我在理解一些细节时遇到了一些麻烦。我已经阅读了文档,但仍然缺少一个基本概念。当我想启动一个 Vagrant 盒子时,我运行:

vagrant up

这将“基于盒子构建 VM” 我知道盒子存储在 ~/.vagrant.d 中,实际上我已经从一个基本的 Ubuntu 盒子打包了我自己的盒子。但是,当我运行 vagrant up 并开始向 vm 添加文件时,vm 的虚拟硬盘存储在哪里?比如我运行apt-get install apache2,修改了root系统,这个修改在哪里?

当我对当前目录执行 du 时,我看不到任何更改。我也没有在 ~/.vagrant.d 目录中看到任何更改。但是,我可以做 vagrant halt,重新启动我的本地机器,然后再次运行 vagrant up,并且更改会保留在某个地方。

vagrant up 也报告了

有人能告诉我虚拟机是在哪里创建的以及在哪里进行的更改吗?

0 投票
1 回答
3689 浏览

chef-infra - 如何在 Vagrant 框中安装 Postgresql

我正在尝试将 postgresql 安装在 vagrant box 中,但没有运气。我尝试使用 Chef AND Puppet 进行配置,然后最后只是 ssh'd 进入盒子并尝试 apt-get install ......结果是一样的。

通过厨师:

通过 apt-get

有人经历过这个还是我只是一个假人?:)

0 投票
1 回答
6594 浏览

chef-infra - 如何在厨师食谱中转换以下 shell 命令?

如何在厨师食谱中转换以下 shell 命令?

安装

为 nginx 创建一个 Upstart 文件

须藤 vim /etc/init/nginx.conf

重启虚拟机

验证 nginx 运行

0 投票
3 回答
3666 浏览

window - 挂载网络驱动器在 DOS 中工作,但在 Cygwin 中中断。为什么?

我正在使用 VirtualBox 来设置 Windows 2008 服务器。我想添加一个共享文件夹,但遇到了问题。

在 DOS 中运行它可以:

但是在 Cygwin 中:

我也试过这些:

我已经尝试创建一个包含工作 DOS 命令的 bat 脚本,并从 cygwin 执行它。它们都因相同的错误而失败。

我需要通过 Cygwin 来完成,因为我通过 SSH 访问系统,并进入 Cygwin 环境。如果有任何方法可以暂时从 Cygwin 内部“突围”出 cygwin,那可能是一条可行的路。

我错过了什么?

0 投票
1 回答
1174 浏览

ruby - 为什么 STOMP、ActiveMQ 和 Vagrant 不能在我的系统上运行?

我有两台流浪机器。第一个名为“web”,包含一个小型 Rub​​y 应用程序,第二个名为“mq”,安装了 ActiveMQ。我无法将我的应用程序与 ActiveMQ 连接起来。

流浪者配置文件:

我的 Ruby Stomp 应用程序位于我的“网络”机器上:

ActiveMQ 配置文件 ( activemq.xml):

机器可以相互通信。

从机器“网络”:

从机器“mq”:

最后,当我尝试执行应用程序时,出现此错误: