zoukankan      html  css  js  c++  java
  • Docker 学习应用篇之一: 初识Docker

        Docker 自从2013年以来就非常的火热,无论是从github上的代码活跃度,还是Redhat在RHE6.5中集成对Docker的支持,等等。第一次接触Docker,还是老师给我们介绍的。

     1.初识Docker 

    一开始接触Docker不知道它是干啥的。百度了一下,Docker是为开发者和系统管理员设计的,用来发布和运行分布式应用程序的一个开放性平台。Docker是一种Linux容器工具集,Docker的思想来自于集装箱,在一艘船上可以把货物规整的摆放起来。每个集装箱都是专门装一种货物的,集装箱和集装箱之间互不干扰,于是就不需要专门运送某个物品的船,一艘大船把所有集装箱都装上,一次运走。其实这种解释对于我们开发程序的人来说,还是有点抽象。具体的来说呢,就是你有一台电脑,这就相当于一艘大船,你可以选择开发c++或者c#的程序,那么这台电脑就要有支持开发的c/c#语言环境,还有开发工具,和服务器。这个时候,这艘船相当于只能运送苹果,如果你想同时开发c的程序,也想开发python的程序,应该怎么办呢?那就要装python的运行环境,和开发工具,服务器。这样可能会和之前的c环境冲突,比如端口冲突。所以这个时候我们就需要Docker,他就像一个集装箱,把python的环境和c的环境,分别集装起来,让二者互不干扰。这样一个电脑,可以开发多种软件。Docker的好处当然远不止这个咯。


     2. Docker的优点


          1)   轻量级:单机可以轻松支持上百个Container(集装箱),让个位数的虚拟化方案相形见绌

          2)快速就绪:一秒以内就可以启动,速度很快捷

          3)快速部署:Docker-file 可以快速在多台机器上部署开发环境


    3.Docker和虚拟机 

      说到Docker就要提到虚拟机了,在Docker流行之前,虚拟机是开发人员部署开发环境的普遍方法。但是虚拟机的缺点是消耗太多不必要的资源和内存,速度也很慢。从一张图就可以看出为什么Docker会比虚拟机更快,更方便。

          

        可以看到Docker和VM的区别,是没有Guestos,而是用Docker Engine代替。虚拟机的Guest OS即为虚拟机安装的操作系统,它是一个完整的操作系统内核,而Docker就显得简练很多,docker Engine可以简单看成对Linux和NameSpace,Cgroup,镜像管理文件的系统操作的分装。Docker没有和虚拟机一样利用一个完全独立的Guest OS 实现环境隔离,它利用的是目前Linux内核本身支持的容器实现资源和环境隔离。

       这就是对Docker的初步认识。Docker 第二篇就要学习如何安装和简单实用Docker.

  • 相关阅读:
    java实现DAG广度优先便利
    java实现图分组
    四。字符串
    二。链表
    一。数组
    TypeScript学习(六)@types包
    TypeScript学习(五)三斜线指令
    TypeScript学习(四)声明文件和declare关键字
    TypeScript学习(三)命名空间和模块
    TypeScript学习(二)函数重载
  • 原文地址:https://www.cnblogs.com/dacc123/p/8228525.html
Copyright © 2011-2022 走看看