是否可以将一个Docker镜像直接部署到AWS?

我正在困难的时间围绕着Docker的可能性,所以请原谅我的无知:

我可以获取我创build的数据库服务器的Docker镜像,并通过某种机制直接部署到新的EC2服务器上? 或者,我必须创buildEC2服务器,然后在服务器上安装Docker,然后将映像拉入服务器等。

我也完全可以为这个过程的任何部分编写额外的代码。 我不确定它是否可能。

我是否误解了Docker的有用性的最大范围?

最简单的方法就是像你说的那样做(创buildEC2实例,安装Docker,拉取图片,运行图片)。

如果你想摆脱LXC的开销(这是非常小的),有多种解决scheme:

  • 你可以使用docker export来生成一个容器rootfs的压缩包,在EC2实例上解压那个压缩包,然后chroot;
  • 你可以在Docker中添加一个chroot运行时,以自动方式完成这个任务(每个docker run将映射到一个chroot)。
  • 如果Docker镜像是从Dockerfile构build的,则可以尝试将FROM行映射到基础EC2 AMI,然后手动应用Dockerfile(或通过cloudinit)。

试图获得原生图像(使用最后的解决scheme)是诱人的,但也是最不可靠的解决scheme,因为在Docker基础图像和EC2基础图像之间没有可靠的映射。

如果你所有的基础都是例如Ubuntu,那么你可能将Dockerfiles转换成cloudinit模板已经相当成功; 但我会亲自挑选选项1或2。