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

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

  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    基于分布式锁解决定时任务重复问题
    基于Redis的Setnx实现分布式锁
    基于数据库悲观锁的分布式锁
    使用锁解决电商中的超卖
  • 原文地址:https://www.cnblogs.com/tianhaichao/p/13589529.html
Copyright © 2011-2022 走看看