美文网首页
docker容器虚拟化技术

docker容器虚拟化技术

作者: 平面小狮子 | 来源:发表于2019-08-17 10:07 被阅读0次
    docker依赖linux内核,只能运行linux下的系统

    什么是容器?

    容器是一种虚拟化方案(直接运行在操作系统内核之上的用户控件)也被称为操作系统虚拟化,只能运行相同或相似的操作系统。
    优点:只需要包含应用和需要的库,不需要完整的操作系统。磁盘资源占用空间更少,减少了磁盘、cpu、内存的压力。

    什么是Docker?

    Docker是将应用程序自动部署到容器的开源引擎。

    Docker目标?

    提供简单轻量的建模;(非常容易上手,很容易将应用程序docker化)
    职责的逻辑分离(开发人员只需要关心容器中运行的应用程序,运维只需关心如何管理容器)
    快速高效的开发生命周期(缩短从开发、测试、部署上线运行的周期,具备可移植性,在容器中开发,以容器的形式交付与分发,开发测试都使用同一环境,有效缩短调试部署的生命周期)
    鼓励使用面向服务的架构(单个容器只运行一个应用程序,形成分布式应用模型。)

    Docker使用场景

    • 使用Docker容器开发、测试、部署服务
    • 创建隔离的运行环境
    • 搭建测试环境
    • 构建多用户的平台及服务(Pass)基础设施
    • 提供软件及服务(Sass)应用程序
    • 高性能、超高规模的宿主机部署

    Docker基本组成

    • 客户端 Docker Client (C/S架构 客户端发送命令,守护进程将命令转发给服务器)
    • 守护进程 Docker Daemon
    • 镜像 Docker Image (容器的基石,层叠的只读文件系统,联合加载 属于打包阶段)
    • 容器 Docker Container (通过镜像启动,写时复制 属于启动执行阶段)
    • 仓库 Docker Registry (保存用户镜像 公用、私有、DockerHub)
    • Docker 依赖的Linux内核特性
    • nameSpaces 命名空间 (每个命名空间相当于一个容器,完成系统资源的隔离,同一个命名空间内的变化可以感知,其它的感知不到)
    • Control groups(cgroups) 控制组 (资源限制,优先级设置,资源计量、资源控制)

    Docker容器的能力?

    • 文件系统的隔离:每个容器都有自己的root文件系统
    • 进程隔离:每个容器都运行在自己的进程环境中
    • 网络隔离:容器间的虚拟网络接口和ip地址都是分开的
    • 资源的隔离和分组:使用cgroups将cpu和内存之类的资源独立分配给每个Docker容器

    相关文章

      网友评论

          本文标题:docker容器虚拟化技术

          本文链接:https://www.haomeiwen.com/subject/jmjhsctx.html