Jenkins Docker持续集成实战1:Docker最主要的目,是为了隔离

一、本文知识点

  1. Docker使用Go语言实现
  2. 基于Linux内核技术
  3. 是操作系统层面的虚拟化技术
  4. 对进程封装隔离,因此被称为容器5. 可以隔离网络、CPU、硬盘等几乎全部资源Docker官方Logo

二、Docker 能做什么

举一个例子瞬间就懂了,看下图:
Docker隔离示意图

  • 我们在一台服务器上运行了两个Tomcat A和B, 由于A接收的请求量更大,我们想让A占用的资源多一些,而B占用的少一些。
  • 坚决不能发生B因为某些BUG导致内存溢出,而间接的把A的资源也消耗殆尽,导致A挂掉的问题。
  • 我们想让A占用2个CPU、B占用2个CPU, A占用6G内存,B占用2G内存,A占用10M带宽、B占用2M带宽,A占用100G磁盘,B占用10G磁盘。
  • 如此从硬件资源到网络资源的强隔离怎么才能做到?使用Docker容器就能做到。

三、Docker 从何而来

  • Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。
  • Docker 项目后来还加入了 Linux 基金会,并成立推动开放容器联盟(OCI)。

四、Docker 是怎么做的

  • Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于Linux 内核的cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。
  • 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。
  • Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷

五、快速学习路径

  • 更适合开发人员的Docker+Jenkins+Git+Maven+Nexus3+Pipeline流水化构建课程。
  • CSDN全程实战视频课程,用我的经验节省你的时间。 点击试听
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
原创文章 2 获赞 0 访问量 178

猜你喜欢

转载自blog.csdn.net/notubasa/article/details/106108376