zoukankan      html  css  js  c++  java
  • 微服务弹性资源管理平台构建(二)

     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分钟。

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

  • 相关阅读:
    UVa11218 KTV
    counting sort 计数排序
    Uva10474
    Uva110 Meta-Loopless Sorts
    Uva592 Island of Logic
    Qtwebkit flashplayer插件问题
    C++程序员的javascript教程
    Binary Search
    排列组合生成算法
    【Linux】mkdir命令
  • 原文地址:https://www.cnblogs.com/tianhaichao/p/13589529.html
Copyright © 2011-2022 走看看