越来越多的应用开始容器化以及上云,可能有些人直接接触的就是k8s(Kubernetes)的概念以及操作了,但是理清一下容器化技术的一些演变过程,是一件很有意思的事情,同时也可以加强我们对容器化技术的深入理解和具体场景下运用哪种技术。
一、Docker vs 虚拟机
KVM技术的发展,解放了单台服务器物理机的资源过剩的浪费,虚拟机的资源互相独立,部署应用不受影响,但缺点是占用资源多,有安全补丁更新时候要一起更新,管理起来比较麻烦。容器Docker就是为了解决这种困境,在耗费资源低的情况下,又可以方便部署资源和依赖互相独立的应用,从而实现快速部署。他们俩的层级差异如图:
二、Docker-Compose 的诞生
容器化的盛行,也带来了新的问题,那就是如何高效地去部署和管理这些镜像呢?因为比较大型的应用服务,往往需要多个组件一起合作才能正常运行,这就给单docker容器部署提出了挑战,Docker-Compose就像下面这只八爪章鱼,可以同时进行多容器的构建以及部署运行。
三、k8s(Kubernetes)的横空出世 vs Docker Swarm
Docker和Docker-Compose的运用,充分地把单物理服务器的性能充分利用起来,并且可以快速地进行持续交付。但是如何把如下图中A机器的容器镜像迁移到其他服务器以及如果遇到高并发,如何进行负载均衡分流呢?
四、几种技术的应用场景及资源占用情况
技术 | 应用场景 | 资源占用情况 |
---|---|---|
Docker | 单机部署简单应用 | 低 |
Docker-Compose | 单机/少数机器部署应用 | 低 |
k8s | 集群部署高可用应用 | 高 |
原创文章,欢迎转载,转载请注明:ifish.site
作者:JaydenZhou
参考文档:
Docker常用命令 ifish.site/docker_01.h…
Docker百度百科 baike.baidu.com/item/Docker…
干货满满!10分钟看懂Docker和K8S my.oschina.net/jamesview/b…
Docker及Docker-Compose的使用 www.jianshu.com/p/ca1623ac7…