我不知道这是应该在这里发布还是在其他堆栈社区发布,所以如果错误发布在这里,请告诉我。
如何获得与我的DO Droplet(Ubuntu 14.04-LAMP等)运行相同的本地(即我的笔记本电脑)VM?
DO是否为Vagrant提供可以复制DO液滴设置的供应商?
能够在我的机器上进行开发,而不是在云端的Droplet上进行开发,这很方便。
答案 0 :(得分:3)
应该可以,我从未尝试过(当我切换到EC2时)但是我看到有一个数字海洋插件,你可以参考下面的页面https://www.digitalocean.com/community/tutorials/how-to-use-digitalocean-as-your-provider-in-vagrant-on-an-ubuntu-12-10-vps
基本上你需要以下内容:
安装插件并下载基本框
vagrant plugin install vagrant-digitalocean
vagrant box add digital_ocean https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box
使用DigitalOcean创建身份验证所需的SSH密钥。运行以下命令以生成SSH密钥对:
ssh-keygen -t rsa
您可以按Enter键接受默认值。这会将SSH私钥和公钥放在我们将在Vagrantfile配置中指定的路径中。
使用以下最小配置创建您的Vagrantfile
config.vm.box = "digital_ocean"
config.ssh.private_key_path = "~/.ssh/id_rsa"
config.vm.provider :digital_ocean do |provider|
provider.client_id = "YOUR CLIENT ID"
provider.api_key = "YOUR API KEY"
provider.image = "Ubuntu 12.10 x64"
provider.region = "New York 2"
end
运行流浪汉
vagrant up --provider=digital_ocean
您可以参考上面的链接了解其他参数,并修复您可能面临的一些问题
答案 1 :(得分:3)
我希望最近在根据immutable server design研究项目时在VM中运行DigitalOcean Droplet。
我打算使用Packer为每个服务器构建正确配置的映像。然后,我会在Vagrant中使用VirtualBox在本地测试我的环境,然后祝福图像,以便在集成,阶段和生产环境中使用。
在阅读Packer - Getting Started for Vagrant Boxes教程时,我注意到了这一行:
如果您在上一页中按照并设置了DigitalOcean, Packer目前无法为DigitalOcean制作Vagrant盒子,但会 能够很快。
这似乎已经在文档中存在了一段时间,所以谁知道“很快”的时间,但我还没有找到任何关于此的官方信息。
我后来发现this blog post讨论了解决此限制的两种可能方法。
我阅读了(1)的说明,虽然这是一个相当耗时且容易出错的尝试,但它听起来合法。听起来仿真设置是目前最好的选择。
如果有人了解此处的最新进展,请在下方发表评论。
我还没有测试过它,最后一次更新来自几年前,但听起来像this blog post,引用git repo可能是一个好的开始。它似乎仍然没有真正从DO图像构建图像,但它是通过近距离模拟的上述(2)的一个很好的例子。
奇怪的是,Packer's Vagrant post-processor的文档似乎表明它 CAN 从DigitalOcean图像创建一个流浪盒。如果这是真的那么一个完全理智的流程将是使用Packer从DO构建一个配置的流浪盒以同时测试在验证它工作之后构建DO图像以旋转(在集成/阶段)在本地VM中公布。然后,您可以通过其他现场环境宣传DO图像。