• 微服务弹性资源管理平台构建(二)


     Docker

    docker是一个开源的应用容器引擎,管理容器。

    开发者打包应用以及依赖包到可移植的容器中,发布成镜像。

    发布好的镜像不依赖于任何语言、框架以及系统,PODA,一次发布,随处部署(需要安装docker引擎)。

    1、docker引擎安装:(这个我还没有做好,做好提供安装步骤)

      学习环境搭建:windows下安装一个vmware,虚拟机中的操作系统可以随意,老师演示的时候使用的是ubuntu。在vm中安装docker引擎。

    2、docker发版镜像(这个我还没有做好,做好提供操作步骤)

      启动docker,包docker看做一个单独的操作系统,在上面部署自己的应用程序,没有问题后发版镜像。

    3、docker理论:

    docker是一种虚拟化技术,使用起来类似于vmware安装操作系统。docker做了操作系统级隔离,对文件系统/网络硬件/进程/cpu/memory都做了隔离。

    所以在微服务实践中,我们可以在docker的一个容器中部署一个应用服务,然后指定这个容器在操作系统中的占比,例如:

    有一个8核16g的服务器,我们可以指定我们的容器使用2个cpu*2g的内存。

    但是,需要注意的是:docker并没有对服务器的磁盘做隔离,我们并不能指定一个容器只对哪块磁盘做读写。所以docker容器中只适合部署无状态的应用服务,不建议部署数据存储类型的应用。

    docker架构图

     Docker VS VM

     1、docker是操作系统级封装,虽然对文件系统、硬件资源、cpu、memory都做了隔离,但他本质还是操作系统的一个进程;

      虽然他看上去像是一个系统一样独立,但是他并没用vm中安装操作系统那么笨重,非常的轻量级,说简单的,他是在操作系统层面上对系统资源的隔离后再分配。

    (再提一下,docker没有对disk隔离,所以只能做应用技术层面的应用部署,数据层面的可以安装,但是存储空间不隔离)

    2、docker是一个进程级别的消耗,vm是操作系统级别的消耗,具有百倍的差异。

    3、镜像大小:docker镜像的大小忽略内部应用服务大小,一般只有2mb。

    4、启动:docker是进程启动,忽略内部应用启动,一个容器启动一般在15s,而一个操作系统启动至少要10分钟。

    ------------------------------------未完待续------------------------

  • 相关阅读:
    Ext.widgetsform(上)BasicForm/Field/Checkbox/Radio/HtmlEditor/TextField
    EXT核心API详解(二)Array/Date/Function/Number/String
    Think of Ext2.0
    EXT核心API详解(七)Ext.KeyNav/KeyMap/JSON/Format/DelayedTask/TaskRunner/TextMetrics/XTemplate
    Ext架构分析(2)理解Ext.util.Observable
    Ext.dataStore
    Ext架构分析(1)理解Ext.util.Event
    Spket Eclipse插件使用教程
    Ext.widgetsform(下)ComboBox,TimeField,DateField,TriggerField,TextArea,NumberField
    Ext.menu.Menu
  • 原文地址:https://www.cnblogs.com/tianhaichao/p/13589529.html
Copyright © 2020-2023  润新知