当前位置: 首页 / 技术干货 / 正文
好程序员云计算培训分享之docker-容器介绍

2020-05-29

云计算培训 好程序员

  好程序员云计算培训分享之容器介绍:容器其实是一种沙盒技术。沙盒就是能够像一个集装箱一样,把你的应用"装"起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互干扰;而被装进集装箱的应用,也可以被方便地搬来搬去。

好程序员

  问题:容器的本质到底是什么?

  容器的本质是进程。容器镜像就是这个系统里的".exe"安装包.

  .iso镜像文件--->(linux/wind/) docker-----下载images------run------>docker容器-----打包----images---放到其他机器-----run镜像------容器

  docker ---下载镜像imagesc7---jdk,tomcat -----打包成images----导出来放到其他机器上--run-images---容器

  Docker介绍:

  Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。通过分层镜像标准化和内核虚拟化技术,Docker使得应用开发者和运维工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开销的情况下提供资源隔离的应用运行环境。

  Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单。**容器就像是轻量级的虚拟机,并且可以以秒级的速度来启动或停止。**

  官网:docker.com

  docker.io ---docker官方库也叫docker-hub

  没有容器的时候:

  1.rd开发产品(需要配置开发环境)lamp

  2.测试(需要配置测试环境)

  3.op上线(需要线上环境)

  开发 测试 运维

  有容器之后:

  rd开发产品(需要在docker容器里配置开发环境)

  把容器打包成镜像交给运维,运维上线

  Docker跟原有的工具区别:

  传统的部署模式是:安装(包管理工具或者源码包编译)->配置->运行;

  Docker的部署模式是:复制->运行。

  Docker对服务器端开发/部署带来的变化:

  方便快速部署

  对于部署来说可以极大的减少部署的时间成本和人力成本

  Docker支持将应用打包进一个可以移植的容器中,重新定义了应用开发,测试,部署上线的过程,核心理念

  是 Build once, Run anywhere

  1)标准化应用发布,docker容器包含了运行环境和可执行程序,可以跨平台和主机使用;

  2)节约时间,快速部署和启动,VM启动一般是分钟级,docker容器启动是秒级;

  3)方便构建基于微服务架构的系统,通过服务编排,更好的松耦合;

  4)节约成本,以前一个虚拟机至少需要几个G的磁盘空间,docker容器可以减少到MB级;

  Docker 优势:

  1、交付物标准化

  Docker的标准化交付物称为"镜像",它包含了应用程序及其所依赖的运行环境,大大简化了应用交付的模式。

  2、应用隔离

  Docker可以隔离不同应用程序之间的相互影响,但是比虚拟机开销更小。总之,容器技术部署速度快,开发、测试更敏捷;提高系统利用率,降低资源成本.

  3、一次构建,多次交付

  类似于集装箱的"一次装箱,多次运输",Docker镜像可以做到"一次构建,多次交付"。

  Docker的度量:

  Docker是利用容器来实现的一种轻量级的虚拟技术,从而在保证隔离性的同时达到节省资源的目的。Docker的

  可移植性可以让它一次建立,到处运行。Docker的度量可以从以下四个方面进行:

  1)隔离性

  通过内核的命名空间来实现的,将容器的进程、网络、消息、文件系统和主机名进行隔离。

  2)可度量性

  Docker主要通过cgroups控制组来控制资源的度量和分配。

  3)移植性

  Docker利用AUFS来实现对容器的快速更新。

  AUFS是一种支持将不同目录挂载到同一个虚拟文件系统下的文件系统,支持对每个目录的读写权限管理。AUFS具有层

  的概念,每一次修改都是在已有的只写层进行增量修改,修改的内容将形成新的文件层,不影响原有的层。

  4)安全性

  安全性可以分为容器内部之间的安全性;容器与托管主机之间的安全性。

  容器内部之间的安全性主要是通过命名空间和cgroups来保证的。

  容器与托管主机之间的安全性主要是通过内核能力机制的控制,可以防止Docker非法入侵托管主机。

  Docker容器使用AUFS作为文件系统,有如下优势:

  1)节省存储空间

  多个容器可以共享同一个基础镜像存储。

  2)快速部署

  3)升级方便

  升级一个基础镜像即可影响到所有基于它的容器。需要注意已经在运行的docker容器不受影响

  容器和 VM 的主要区别:

  表面区别:

  容器占用体积小,虚拟机占用体积大

  隔离性:容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。

  启动速度:虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。

  容器使用宿主操作系统的内核,而虚拟机使用独立的内核。Docker 的局限性之一是,它只能用在64位的操作系统上。

  本质区别:

  容器是被隔离的进程

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号