是否有任何可供 Vagrant 下载的“盒子”与 Linux 版本和可用于 Amazon EC2 实例的软件包非常相似?
我正在使用 Vagrant 进行本地测试,目前使用的是 Precise32 盒。我正在使用“Amazon Linux AMI 2013.03”AMI 将我的代码部署到 Amazon EC2 实例。
我面临的问题是,Precise32 框上可安装的软件包具有不同的名称,例如
- php5-fpm-在 vagrant box 中
- php54-fpm - 在 Amazon EC2 实例中。
虽然我可以通过使用 Puppet 配置文件中的变量来处理不同的包名称来解决这个问题,但这听起来有点像黑客攻击。
那么是否有任何可用的 vagrant boxes 可以紧密镜像 Amazon EC2 环境。
或者我是否可以告诉 vagrant box 使用与 Amazon EC2 实例相同的软件包源?
澄清一点 - 我之所以要这样做,是为了可以在本地进行测试,而不必先提交所有内容。尽管 Vagrant 支持 AWS 作为提供商,但这实际上无法实现本地测试。
答案1
答案2
注意:这个答案不是关于为“Amazon Linux”寻找一个 vagrant box。这个答案是关于帮助原始发帖者解决在生产和开发中使用相同系统的目标,该系统恰好是 Ubuntu。正如您在下面的评论中看到的那样,OP 同意这将解决他的问题。
Canonical 在 EC2 上提供官方 Ubuntu AMI 和相应的官方 Vagrant 盒供下载。
对于 Ubuntu 12.04 Precise,AMI 列在
Vagrant 盒子列在
您可以使用它在 EC2 上以与您在开发中本地使用的相同的基本配置开始。
答案3
2017 年 12 月 13 日,亚马逊发布亚马逊Linux 2. 亚马逊现在提供可在 VirtualBox、VMWare 和 MS Hyper-V 中运行的可下载图像。
在此之前,您可以选择使用Amazon ECS Docker 映像。这仍然适用于 v1 和 v2。
看一下在本地以虚拟机形式运行 Amazon Linux 2。
我猜有人很快就会发布一个 vagrant box。在此期间,很容易建立一个基础框你自己。
答案4
Amazon Linux 基于 Redhat/CentOS,因此如果您在本地运行其中一个,名称将更加匹配。
基于 Debian/Ubuntu 的 Linux 操作系统改变了软件包名称,例如,开发软件包的后缀为“dev”而不是“devel”。
顺便说一句,您可能想要检查 Amazon Linux 实例上“rpm -qa”的输出,对其进行混合以匹配 CentOS/Redhat 软件包名称,然后考虑创建与 Amazon 的版本紧密匹配的自己的操作系统版本。