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

时间:2014-03-03 00:43:14

标签: deployment amazon-web-services amazon-ec2 docker

我正在艰难地将我的大脑缠绕在Docker的可能性之上,所以请原谅我的无知:

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

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

我是否误解了Docker的最大用途?

1 个答案:

答案 0 :(得分:5)

最简单的方法是按照你的说法去做(创建EC2实例,安装Docker,拉图像,运行图像)。

如果你想摆脱LXC(无论如何都非常小)的开销,有多种解决方案:

  • 您可以使用docker export生成容器rootfs的tarball,在EC2实例上解压缩该tarball,并在那里chroot;
  • 您可以向Docker添加chroot运行时,以自动方式执行此操作(每个docker run将映射到chroot);
  • 如果Docker镜像是从Dockerfile构建的,您可以尝试将FROM行映射到基本EC2 AMI,然后手动应用Dockerfile(或者例如通过cloudinit)。

尝试获取原生图像(使用最后的解决方案)很有吸引力,但它也是最不可靠的解决方案,因为无法在Docker基础图像和EC2基础图像之间建立可靠的映射。

如果所有的基数都是例如Ubuntu,你可能会有很好的成功将Dockerfiles转换为cloudinit模板;但我个人会选择1或2选项。