虚拟化技术之Docker简介

虚拟化技术简介

首先我们需要学习一个知识,或多或少会有所目标或需求。那么我在对于选择的时候会进行相对应的分析,优中择优?

什么是虚拟化化技术?

IT里的容器技术是英文单词Linux Container的直译。container这个单词有集装箱、容器的含义(主要偏集装箱意思,如果要形象的理解Linux Container技术的话,还是得念成集装箱会比较好。我们知道,海边码头里的集装箱是运载货物用的,它是一种按规格标准化的钢制箱子。集装箱的特色,在于其格式划一,并可以层层重叠

为什么需要使用虚拟化技术?

不知你是否也出现过以下这么些问题?

  1. 在工程中迁移和拓展项目难度大,生产力低
  2. 工程部署上线过程十分漫长
  3. 购买云服务器、物理服务器价格不菲
  4. 物理服务器资源利用率较低
  5. 等等

那么问题来了,该如何降低迁移和拓展项目难度,提高生产力。部署快捷,勤俭节约?

此时虚拟化技术便随之应用而生,其原理与原理就是它的名字“虚拟化”,,予以抽象、转换后呈现出来并可供分割、组合为一个或多个“孪生兄弟”。咱们经常使用到虚拟机,虚拟环境。等等。那么它的优势也显而易见。

那么虚拟容器是什么,它与虚拟化又有什么不同?

传统虚拟化技术从操作系统层下手,目标是建立一个可以用来执行整套操作系统的沙盒独立执行环境,习惯以虚拟机(Virtual Machine)来称呼。而Container技术则是直接将一个应用程序所需的相关程序代码、函式库、环境配置文件都打包起来建立沙盒执行环境,为了和传统虚拟化技术产生的虚拟机区分,Container技术产生的环境就称为Container。

如果说虚拟化是将房子分成房间,那么虚拟容器化技术就是将“房间”里的柜子分层。

虚拟化技术的优与劣:

优势:

  • 更高效的系统资源利用率。
    相比虚拟化技术,不需要额外的hypervisor层,会有更高的性能和效率。单台高配物理机可以跑上千个docker容器。
  • 启动非常快,秒级时间
    这是由于直接运行于宿主机内核,需要启动完成的操作系统,因此可以做到秒级、甚至毫秒级的启动时间
  • 一致的运行环境
    容器的镜像封装应用和应用依赖的环境,确保了应用运行环境的一致性,避免了开发环境、测试环境、生产环境不一致的问题
  • 持续交付和部署
    一次创建和配置之后,可以在任意地方运行。测试人员可以将容器与持续集成系统结合,在pipeline中自动化的完成集成测试,同时运维人员可以通过持续部署系统对应用自动完成部署。
  • 更易于迁移
    如何你现在运行在哪里,都可以轻松迁移到物理机、虚拟机、公有云、私有云中,且不需要担心运行环境变化导致应用无法运行的问题

不足:

  • 容器隔离性问题,也可以是安全性问题,只要是由于共用内核和Namespace实现隔离的限制
  • 容器里面不存放数据,容器中的数据会随容器消失而消失,特别是对有状态的应用需要做数据的持久化设置
  • 容器的粒度更细,管理复杂度更大,在生产环境管理大量的容器带来了更大的挑战,有赖于K8S、Swarm等容器编排

若有疑问评论区请在评论区留言
更多文章、联系博主、技术交流、商务合作
个人邮箱:[email protected]
github: https://github.com/Payne-Wu
扫码或搜索公众号:积跬Coder
积跬Coder

猜你喜欢

转载自blog.csdn.net/wzp7081/article/details/108781490