zoukankan      html  css  js  c++  java
  • docker学习

    大家知道docker是什么吗?  为什么要学习docker,它能给工作带来什么好处,下面我就来给大家讲讲我所了解和知道的!

    (1)公司里面有开发人员,例如开发web系统,租赁系统等等。。,WEB系统部署到Linux服务器,部署时间长的话要1-2周,调试完毕,WEB系统对外发布;

    (2)需要把WEB 系统/APP 各种代码、软件、依赖关系,部署线上Linux服务器,Docker技术可以将WEB系统打包镜像,类似于ISO镜像文件,镜像文件移植到其他Linux系统

    在聊聊虚拟化技术:

             虚拟化技术:通俗的来说,虚拟化就是把物力资源转变为逻辑上可以管理的资源,以打破物理结构间的壁垒,计算元件运行在虚拟的基础上而不是真实的基础上,可以扩大硬件的容量,简化软件的重新配置过程。

            允许一个平台同时运行多个操作系统,并且应用陈谷都可以在相互独立的空间内运行而不受影响,从而显著提高计算机的工作效率,是一个为了简化管理,优化资源的解决方案。

           目前主流的虚拟化技术有:KVM、Xen、VMware Esxi ViretualBox、Docker,虚拟化技术来越来越广泛的应用在企业中。

    虚拟化概念: 

         虚拟机和虚拟化有什么区别呢?

                 大家都知道 vmware workstation 虚拟机,一个硬件设备平台,基于平台划分更多的虚拟资源,单台物理机虚拟更多的虚拟机,实现网站的发布。 虚拟化和虚拟机差不多 也具备虚拟机的功能但是还有很大区别,虚拟化技术具有计算元件,资源申请调度到其他硬件服务器,然后在其他硬件服务器上面虚拟资源。

    给大家举个最简单的例子,大家都用过 阿里云 ,腾讯云吧:

             阿里云、腾讯云 都是虚拟化 你去申请一个阿里云主机只需要提交一个CPU、内存、硬盘、网卡、带宽的需求,然后提交到后端硬件服务器上,通过计算元件实现资源调度,你会发现阿里云从来没发现资源不够。例如 阿里云有10000台物理机每台物理机配置都是非常高的,64C 256G 硬盘可以是分布式存储,当发现某一台物理机资源不够了计算元件会分析调度,实现资源分配。

           虚拟化原理:虚拟化解决方案的底部是要进行虚拟化的物理主机,这台机器 可能直接支持虚拟化,也可能不会直接支持虚拟化,那么就需要系统的管理程序层的支持。系统管理程序或者称为 VMM,可以看做是平台硬件和操作系统的抽象化。在某些情况中,这个系统管理程序就是一个操作系统;此时, 它就称为主机操作系统。

        虚拟化技术分类:

            1)完全虚拟化技术: 实际上是通过软件实现对操作系统的资源再分配,比较成熟,例如我们的KVM,virtualBox;

            2)半虚拟化技术 :    是通过代码修改已有的系统,形成一种新的可虚拟化的系统,调用硬件资源去安装多个系统,整体速度上相对高一点,代表产品有 Xen。

            3) Docker技术(介于完全虚拟化、半虚拟化之间),轻量级虚拟化;

    下面开始讲解Docker,啰嗦了一大堆下面才是正题 ,嘿嘿

       Docker技术:

             Docker技术类似于集装箱,最早集装箱没有出现的时候,码头上面有许多搬运工人在搬运货物,集装箱出现以后,码头上看到更多的不是工人了,而且集装箱的搬运模式更加单一,更加高效,还有其他的好处。

             例如: 货物多打包在集装箱里面,可以防止货物之间相互影响。并且到了另外一个码头需要转运的话,有了再集装箱以后,直接把它运送到另一个容器内即可,完全可以保证里面的货物是整体搬迁,并且不会损害货物本身。

             Docker LXC 及 Cgroup

             Docker 最早为 LXC+AUFS 组合,LXC负责资源管理,AUFS负责镜像管理,而LXC包括 cgruop、namespace、chroot等组件、并通过cgroup进行资源管理。

             

           

           从资源管理来看,Docker、LXC、Cgroup三者的关系是:Cgroup在最底层落实资源管理,LXC 在cgroup 上封装了一层,Docker又在LXC封装了一层。

           docker可以看做是LXC的替代品。

            docker可以实现资源隔离

            Cgroup 是 Linux内核提供的一种可以限制、隔离、记录进程组所使用的物理资源的机制。

            Docker 虚拟化技术需要什么东西:

            镜像:模板,docker 虚拟化基于系统、程序、静态的、不能修改的、可有读取的 不能写入

            容器:称为docker 虚拟机、基于镜像运行的实体,简单一句话 镜像文件跑起来就是容器了。

            仓库:仓库是存放镜像的地方。一般分为公共仓库,私有仓库(公司内部的)。

        docker虚拟化和传统虚拟化相比的好处是: 

                docker虚拟化 直接虚拟APP ,例如docker上面跑一个NGINX,他不需要先虚拟一个操作系统,在布置一个操作系统。传统的虚拟化需要先在VMM启动一个虚拟机在虚拟机里面在跑NGINX性能方面肯定要降低很多。

               docker技术:NGINX镜像-NGINX 容器-对外访问 客户访问ip就能访问NGINX了。

          总结docker虚拟化直接虚拟APP 传统的不可以。

           

      

                 

  • 相关阅读:
    一名中国联络官的来信
    中国女性出席1899年伦敦世界妇女大会
    曾在九江同文任教的中外人士若干
    金韵梅大夫略传
    为何高于四次的方程没有根式解?
    日军进攻九江的影像资料
    美以美会在九江
    九江同文中学与宝洁公司的甘布尔家族
    九江生命活水医院
    微信小程序获取用户信息签名解密C#
  • 原文地址:https://www.cnblogs.com/394510636-ff/p/8832142.html
Copyright © 2011-2022 走看看