问题标签 [vagrant-provision]

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 投票
1 回答
896 浏览

docker - 是否可以使用 Docker 作为提供者和供应者来运行 Vagrant?

Vagrant 文档描述了如何启动使用Docker 作为提供者的 VM,以及如何使用 Docker 配置 VM。但是,没有关于是否可以将两者结合使用的信息。

我想这样做的原因是因为我正在开发一个 Python Web 应用程序,无论如何它将通过 Docker 部署。它带有一些依赖项(通过 Dockerfile 安装的系统和 Python 库)以及在另一个容器中运行的 Redis 数据库。

如果我现在可以基于我的 Python/Webapp Dockerfile 创建一个带有 Docker 提供程序的 Vagrant VM,并为这台机器提供更多容器(例如 Redis),那么

  • 我将拥有一个启动速度非常快的虚拟机,并且几乎可以完美地模仿我的部署环境,
  • 我可以使用PyCharm IDE 的远程解释器功能连接到这台机器上的 Python 解释器,并从代码完成、调试等中受益。

为此,可能需要Docker 中的 Docker 之类的东西,以便基于 Docker 的 VM 可以通过 Docker 配置器启动更多容器。

这种方法通常是否可行,或者在某处是否有可用的工作示例?或者,如果没有,有什么好的替代方法可以达到同样的效果?

0 投票
2 回答
5932 浏览

ubuntu - Vagrant 自定义框 metadata.json 文件

我有一个名为 package.box 的自定义框。我在尝试 vagrant up 时收到此错误,vagrant box add。我创建了一个具有不同配置但没有运气的 metadata.json 文件。我不明白这个消息。我使用 virtualbox 进行配置。

我不了解他们网站上有关 metadata.json 文件的文档。

找不到框“package.box”的“metadata.json”文件。
盒子需要这个文件,以便 Vagrant 确定
它的提供者。如果您制作了盒子,请向其中添加
“metadata.json”文件。如果其他人制作了盒子,请
通知盒子创建者盒子已损坏。
可以在以下 URL 中找到 box 文件格式的文档:
https ://www.vagrantup.com/docs/boxes/format.html

package.box 位于空目录中。在它旁边我放了这个 metadata.json 文件:

我使用的是 ubuntu 16.04 系统,vagrant 1.8.5,virtualbox 5.0.26。

0 投票
1 回答
169 浏览

laravel - vagrant puppet,作曲家无法安装 laravel

我最近才知道 puppet,我正在尝试在 vagrant 配置时安装 laravel,以便在我登录/ssh 到 vagrant 时一切都已设置好(可以运行 laravel)。但是我卡住了,它返回成功执行但是在我执行 vagrant ssh 之后,laravel 命令不可用。

php5、php5-cli等composer等依赖在这部分代码之前已经安装好了。

输出

任何帮助将非常感激。谢谢

0 投票
1 回答
648 浏览

vagrant - Vagrant 无法安装 Puppet

当我运行 Vagrant 时,它正在执行所有配置和诸如此类的操作,然后我看到了错误:

然后:

在我的配置文件中,我有:

在我运行 vagrant up 的文件夹中,有一个名为 puppet 的文件夹,其中包含配置中引用的各种文件和文件夹。

关于为什么这会失败或我如何解决它的任何帮助将是最有帮助的。

编辑:刚刚在调试模式下运行 vagrant,也许它与不够高级的 ruby​​ 版本有关?我不确定它是否直接相关:

0 投票
1 回答
729 浏览

bash - 在 vagrant 中执行主机路径中存在的 shell 脚本

我的流浪文件是

错误信息 :

==> 默认值:sh:第 1 行:startServer.sh:未找到 SSH 命令以非零退出状态响应。Vagrant 假设这意味着命令失败。此命令的输出应该在上面的日志中。请阅读输出以确定出了什么问题

在脚本标记中,我提到路径为 /opt/IBM/WebSphere/AppServer/。这条路径出现在我的 solaris 框中。在 vagrant up 期间,我需要在 solaris 框中执行以下命令

实现这一目标的最佳方法是什么。

0 投票
1 回答
2965 浏览

vagrant - 如何在第一次 vagrant up 期间提供个人数据库?

我们的项目 repo 中有一个多机 Vagrantfile,它设置了 LAMP 堆栈并创建了一些常见的 MySQL 数据库。现在,我们每个人都有一个个人数据库,我们希望 Vagrant 创建它作为初始“vagrant up”配置的一部分。我已将我的个人配置代码放在 ~/.vagrant.d/Vagrantfile 中,但根据 Vagrantfiles 的加载顺序,该代码在常见 Vagrantfile 的配置代码之前运行。我的个人配置代码无法添加任何 MySQL 数据库,因为 MySQL 尚未安装,因为这是通用 Vagrantfile 的责任。

我怎样才能让通用的 Vagrantfile 安装 MySQL,而个人 Vagrantfile 在 MySQL 到位后添加一个数据库?

更新 这是我最终做的。

Vagrantfile(与其他开发者共享):

provision.dev14.rb(我的个人配置文件,Git 忽略):

这些当然是经过消毒和简化的摘录。

0 投票
2 回答
697 浏览

docker - Vagrant Provider 和 Vagrant Provisioner 有什么区别?

我认为“ Provider ”和“ Provisioner ”这两个词听起来非常相似,这可能会导致混淆,尤其是在面对两个术语混合或使用同义词的文档的初学者中(已经在网上看到)。当初学者在Vagrant 的网站上将Docker 视为 Provider并将Docker 视为 Provisioner时,它会变得更加混乱。

所以这个问题实际上是关于三件事:

  1. 什么是流浪提供者?

  2. 什么是流浪供应商?

  3. Docker 如何适应这里?

    • Docker 作为 Vagrant Provider 的典型用例是什么?

    • Docker 作为 Vagrant Provisioner 的典型用例是什么?

我很欣赏解释、示例和进一步阅读的链接,它们清楚地说明了事情(即使对于新手来说也是如此)。

0 投票
1 回答
612 浏览

vagrant - 找不到 Yum 模块

我对 Vagrant 和 Ansible 很陌生,不知何故我设法设置了 Vagrant 并运行了一个盒子,但是当我尝试使用 Ansible 配置它时,我得到了错误。ImportError: No module named yum

我的剧本如下所示:-

我正在使用 Ubuntu 作为我的主机,并且上面有 Vagrant 1.8.5 和最新版本的 Ansible。有人可以建议我在哪里弄错了。提前致谢。

0 投票
1 回答
208 浏览

python - Puppet 依赖文件在本地 Vagrant Environmnet 中失败

下面是我的 Python Django 应用程序的 Puppet 代码。

以下是我运行时 Vagrant 给出的错误vagrant provision

以前是否有任何机构收到此错误?任何机构都可以让我知道我是否应该研究任何代码区域。这发生在我当地的流浪者设置上。

更新

所以我尝试了 Vagrant destroy 并重新创建依赖项,现在我遇到了错误。

添加 setup.py

0 投票
2 回答
31 浏览

vagrant - 运行 ansible insertLine 命令:完全错误,我不知道为什么

所以我的configuration.yml(ansible任务)中有这一行

我正在尝试替换它:

当我尝试 grep 正则表达式时:

当我 grep 另一个时:

所以我的正则表达式完全符合我的预期,但是这个前线只是不能像我想的那样工作,关于这个功能的 ansible 文档让我相信它会在最后一个匹配之前 'pgsql' => array 但它只是不断替换最后一条路径,在这种情况下'password' => '',