容器化技术的背景是什么?在软件开发过程中环境配置永远是最让人头疼的在开发之前我们需要准备各种运行环境、IDE及辅助工具同时软件部署也为程序员的谢顶助力三分。
搭建不同语言、不同技术栈适配的运行环境还要部署到多个服务器主机上并且这些主机还可能来自不同地方这为部署与运维人员带来了极大挑战。什么是docker?为什么要用docker?什么是Docjer容器?什么是Docker镜像?Docker中的常用命令。
容器化技术的背景是什么?
在软件开发过程中环境配置永远是最让人头疼的在开发之前我们需要准备各种运行环境、IDE及辅助工具同时软件部署也为程序员的谢顶助力三分。搭建不同语言、不同技术栈适配的运行环境还要部署到多个服务器主机上并且这些主机还可能来自不同地方这为部署与运维人员带来了极大挑战。而需求永远是推动技术发展的源动力正是在这样的背景下"容器化技术"出现了。
什么是容器化?
容器化实际上是一种轻量级的虚拟化技术。只不过相对于VM,属于进程级别的隔离(通过linux namespace实现),具备以下特点:
1)更大的弹性
2)更快的启动速度
3)更少的资源消耗
而最为大家熟悉的容器化运行时技术就非Docker莫属了。
容器化技术从大方向来看,可分为容器化运行技术和容器化编排技术,那何为容器化编排技术?
Docker本身非常适合管理单个容器。但随着越来越多的容器和容器化应用程序,并把它们划分成数百个部分,很可能会导致管理和编排变得非常困难。最终,需要对容器实施分组,以便跨所有容器提供网络、安全、遥测等服务。
于是,Kubernetes(也称k8s) 应运而生。真正的生产型应用会涉及很多容器,这些容器必须跨多个服务器主机进行部署。Kubernetes可以提供所需的编排和管理功能,以便针对这些工作负载大规模部署容器。
借助Kubernetes编排功能,可以构建跨多个容器的应用服务、跨集群调度、扩展这些容器,并长期持续管理这些容器的健康状况。