Docker 将开发环境从一台EC2计算机复制到另一台EC2计算机

Docker 将开发环境从一台EC2计算机复制到另一台EC2计算机,docker,amazon-ec2,vagrant,amazon-ami,Docker,Amazon Ec2,Vagrant,Amazon Ami,所以,我经常遇到这个问题-- 我通常临时启动EC2机器以运行一些基准测试或小项目,然后在工作完成后关闭它们 然而,每次我启动一台新机器,我都必须重新设置我的环境 以下是我希望轻松配置的内容: 我有一个自定义的.vimrc、.tmux.conf、.zshrc文件需要设置 我必须在ubuntu上重新安装所有的基本软件包 我必须重新安装所有vim插件 有时会对硬盘进行分区/格式化,并执行其他系统管理工作 我以前用过Docker,但我发现Docker对我需要的东西更具侵略性。这是一个我必须运行的附加软件

所以,我经常遇到这个问题--

我通常临时启动EC2机器以运行一些基准测试或小项目,然后在工作完成后关闭它们

然而,每次我启动一台新机器,我都必须重新设置我的环境

以下是我希望轻松配置的内容:

  • 我有一个自定义的.vimrc、.tmux.conf、.zshrc文件需要设置
  • 我必须在ubuntu上重新安装所有的基本软件包
  • 我必须重新安装所有vim插件
  • 有时会对硬盘进行分区/格式化,并执行其他系统管理工作
  • 我以前用过Docker,但我发现Docker对我需要的东西更具侵略性。这是一个我必须运行的附加软件,我必须安装文件系统,为此设置额外的网络网桥,配置ssh in和ssh out等。因此,如果可能的话,我希望避免使用Docker

    我认为流浪汉也有类似的问题

    我想知道我是否应该为此创建一个EC2 AMI。这是解决这个问题的最好办法吗


    谢谢

    只需将配置转储到S3存储桶中,然后将其取回即可。您还可以在您的计算机上创建init脚本,以便根据需要安装它们(或者根据需要直接获取数据)。您甚至可以获得更高级的功能,但我想这是不必要的。

    您可以使用一些选项

    一个选项是创建一个启动脚本,该脚本安装您喜欢的所有内容。然后,您可以启动完全配置的新机器。然而,要使脚本正确,需要做一些工作

    另一个选项是在不使用时停止实例,稍后再启动。EC2不会向您收费,但EBS卷存储会向您收费

    或者,您可以创建实例的AMI,然后稍后从AMI启动一个新实例。这可能会稍微便宜一些,因为AMI只保留正在使用的存储块,并且AMI/快照存储比EBS存储便宜