使用基于docker的容器的优点是通过避免使用Hipervisor层来获得性能优势。但是,当我们在AWS EC2实例上部署基于docker的映像时,有什么用? Amazon EC2实例仅在Hipervisor层上运行。
请澄清。谢谢。
答案 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,您有很多选择,例如
如果
,您应该使用内部部署