zoukankan      html  css  js  c++  java
  • Docker的简单认知

    Docker images: docker image是一个只读打模板,用来创建Docker 容器

    Docker Registers 互联网上存储images的地方

    Docker containers: docker 容器类似一个目录,包括需要运行application需要打一切。每个容器从docker image创建。docker容器可以run,stopped,moved和deleted

    每一个image由一系列layers构成,Docker使用union file systems将这些layers组成一个单独打image。

    $ sudo docker run -i -t ubuntu /bin/bash
    

    执行上述命令会发生如下操作:

    1. 拉取ubuntu image:Docker首先检查ubuntu image是否在本地存在,如果不存在,从Docker Hub上下载.如果存在,Docker使用它作为新的容器

    2. 创建一个新的container: Docker使用image创建一个container

    3. 分配一个 filesystem和挂载一个read-write layer:在文件系统中创建container,在image上添加一个read-write层

    4. 分配一个network/bridge接口:创建一个网络接口,允许Docker容器与本地host通信

    5. 设置IP

    6. 运行我们指定打命令

    7. 捕捉用户程序打输出

    底层技术

    Namespaces(命名空间)

    Docker利用namespace技术的优势,提供隔离打workspace,我们称之为container。container运行在自己的命名空间中,不能访问外部

    Control groups

    Docker使用另一个称为cgroups或control groups的技术。让一个application隔离运行打关键是让它使用独立的资源。Control groups允许Docker在containers之间分享可用打硬件资源,如果必须,可以设置限制和约束用来限制硬件资源的使用

    Union file systems

    Container format

    Docker将这些组件组成一个包装器,我们称之为container format。默认的container format是libcontainer.Docker也支持传统的Linux容器(LXC)。未来Docker将支持其它container format

  • 相关阅读:
    Linux操作系统分析之进程的创建与可执行程序的加载
    Linux操作系统分析之计算机是怎样工作的
    求二项分布的数学期望与方差的工式及证明过程
    世界就是一个班
    软件版妻子
    时代变迁
    也许ASP真的不行了???
    新一字诗
    祝女同志节日快乐!
    写啥
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4542733.html
Copyright © 2011-2022 走看看