AWS上的Docker容器图像

时间:2017-04-03 13:48:07

标签: docker amazon-ec2

使用基于docker的容器的优点是通过避免使用Hipervisor层来获得性能优势。但是,当我们在AWS EC2实例上部署基于docker的映像时,有什么用? Amazon EC2实例仅在Hipervisor层上运行。

  • Q1。在AWS上部署时,我们得不到多少好处?
  • Q2。如果Q1为真,那么如果我们使用Docker镜像,我们必须选择On-Premise解决方案吗?

请澄清。谢谢。

2 个答案:

答案 0 :(得分:2)

您没有考虑将应用程序打包为docker容器映像的好处。将映像推送到可访问的Docker注册表后,您可以在安装了Docker的任何兼容服务器上运行它。

每个Docker容器都是在主机服务器上运行的特殊隔离进程。主机是虚拟机还是物理服务器是实现细节。

希望这有帮助

答案 1 :(得分:0)

初始陈述是错误的。 Docker容器仍然依赖于OS功能。性能永远不是docker的卖点:如果你想要裸骨性能,你可以使用汇编语言并从头开始编写自己的东西。 Docker的好处是尽可能轻松地部署您的应用程序而不会遇到麻烦和规模,它不会“获得性能优势”。

由于缺陷声明,问题1存在缺陷。

使用AWS EC2或EC2容器服务的好处是可以灵活地扩展您的需求,即从T2.micro到使用ELB,现场实例,冗余等的多个系统。

您可以继续争论共址/内部部署框“性能优势”,但您无法在不产生额外费用的情况下更改框。对于裸机,您必须过度配置该框,并以最佳猜测支付所有这些费用

例如,ECS c4.2xlarge(8个vCPU,15GB RAM)可能无法提供3年前过度配置的i7 16GB内部部署盒。事实上,在最初的6个月里,c4.large(2vCPU,3.75GB RAM)就足够了。在AWS中,您只需使用C4.large实例而不是过度配置。

在6个月后,您的超额配置的内部部署框会面临尖峰,除非您购买升级,否则您无法执行任何操作。对于AWS,您有很多选择,例如

  1. 只需重新启动VM实例,以便更好地键入c4.4xlarge或m4(如果它是密集型CPU,而不是cpu密集型)。和/或
  2. 启用ECS / EC2自动缩放。和/或
  3. 使用现货车队和现货车队扩展和/或
  4. 扩展到其他AWS服务,例如RDS,lambda等和/或
  5. 您可以随时终止实例。 (如果您决定停止该项目)
  6. 如果

    ,您应该使用内部部署
    1. 您预计未来的硬件增长
    2. 您的本地硬件+协同定位+维护成本(备份等)比每年AWS费用便宜,并且您打算运行至少1年