• 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

  • 相关阅读:
    python中的基础坑
    Django组件content-type使用方法详解
    数据库范式
    MySQL常见面试题索引、表设计
    python操作MySQL之pymysql模块
    MySQL备份与还原
    MySQL查询缓存
    MySQL索引及查询优化
    MySQL事务隔离之MVCC版本控制
    MySQL事务及实现、隔离级别及锁与优化
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4542733.html
Copyright © 2020-2023  润新知