使用digitalocean图像设置vagrant

时间:2015-08-31 06:38:20

标签: vagrant digital-ocean

我不知道这是应该在这里发布还是在其他堆栈社区发布,所以如果错误发布在这里,请告诉我。

如何获得与我的DO Droplet(Ubuntu 14.04-LAMP等)运行相同的本地(即我的笔记本电脑)VM?

DO是否为Vagrant提供可以复制DO液滴设置的供应商?

能够在我的机器上进行开发,而不是在云端的Droplet上进行开发,这很方便。

2 个答案:

答案 0 :(得分:3)

应该可以,我从未尝试过(当我切换到EC2时)但是我看到有一个数字海洋插件,你可以参考下面的页面https://www.digitalocean.com/community/tutorials/how-to-use-digitalocean-as-your-provider-in-vagrant-on-an-ubuntu-12-10-vps

基本上你需要以下内容:

  1. 安装插件并下载基本框

    vagrant plugin install vagrant-digitalocean
    vagrant box add digital_ocean https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box
    
  2. 使用DigitalOcean创建身份验证所需的SSH密钥。运行以下命令以生成SSH密钥对:

    ssh-keygen -t rsa
    

    您可以按Enter键接受默认值。这会将SSH私钥和公钥放在我们将在Vagrantfile配置中指定的路径中。

  3. 使用以下最小配置创建您的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
    
  4. 运行流浪汉

    vagrant up --provider=digital_ocean
    
  5. 您可以参考上面的链接了解其他参数,并修复您可能面临的一些问题

答案 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. 手动Convert a Digital Ocean Droplet to a VMware VM
  2. 用于简单地模拟数字海洋环境并使用类似的基本图像进行工作
  3. 我阅读了(1)的说明,虽然这是一个相当耗时且容易出错的尝试,但它听起来合法。听起来仿真设置是目前最好的选择。

    如果有人了解此处的最新进展,请在下方发表评论。

    编辑:

    我还没有测试过它,最后一次更新来自几年前,但听起来像this blog post,引用git repo可能是一个好的开始。它似乎仍然没有真正从DO图像构建图像,但它是通过近距离模拟的上述(2)的一个很好的例子。

    奇怪的是,Packer's Vagrant post-processor的文档似乎表明它 CAN 从DigitalOcean图像创建一个流浪盒。如果这是真的那么一个完全理智的流程将是使用Packer从DO构建一个配置的流浪盒以同时测试在验证它工作之后构建DO图像以旋转(在集成/阶段)在本地VM中公布。然后,您可以通过其他现场环境宣传DO图像。