容器技术代表了未来十年云计算的主流技术。新技术代表着新的生态,新的技术栈。未来的运维不会像现在docker和kubernetes一样知道centos和nginx一样不是危言耸听。就目前的发展情况而言,kubernetes相当于一个云原生操作系统,kubernetes上的服务类似于传统操作系统上的软件。所以尽早学习docker,这样你才不会在下一个云计算领域落后。下面从以下几个方面来谈谈为什么容器是未来的发展趋势。第一个方面,对于传统的运维来说,容器的性能很容易和虚拟机混淆。这是一种误解。在运维的学习过程中,一定要注意这些基本概念。在用户空间,进程调用会经过虚拟机内核,再经过宿主机内核,返回也是一样的,多了一层调用。容器是共享主机内核,容器只提供用户空间。进程调用会直接调用宿主内核,少了一层调用。所以容器的效率非常高,无限接近原来的操作系统调用。第二个方面是容器资源利用。容器没有管理程序的额外开销,与底层共享操作系统。它们具有更好的性能、更低的系统负载,并且可以在相同的条件下运行更多的应用程序实例。与虚拟机相比,系统资源可以得到更充分的利用。第三个方面是容器的隔离。如果传统主机或虚拟机运行多个不同版本的环境,配置非常复杂,容易出错。容器化之后,这个问题就不存在了。每个应用程序都可以打包成独立的容器,拥有独立的用户空间,共享主机内存和cpu资源。第四个方面,快速启动容器技术最大的优势在于创建容器实例比创建虚拟机实例要快得多。容器的轻量级脚本可以减少性能和体积方面的开销,并且可以实现秒级启动。第五,跨平台持续部署和测试开发,可以在windows上用docker打包测试,消除了线上线下环境的差异,保证了应用生命周期环境一致性的标准化。开发者使用镜像构建标准的开发环境。开发完成后,他们通过封装了完整环境和应用程序的镜像进行迁移。这样一来,测试和运维人员可以直接部署软件镜像进行测试和发布,大大简化了持续集成。、测试和发布过程。真正实现了docker官网所说的“buildonce,runeverywhere”。
