• Docker技术使用场景主要特性等相关资源整理
  • OpenStack与Docker集成:使用openstack管理docker
  • Docker的隔离性和安全性问题
  • docker使用的技术之Container内核原理介绍
  • Docker详细的应用与实践架构举例说明
  • ​基于Docker的大数据开发实践
  • ​docker之轻量虚拟化技术——docker实战分享
  • 什么是docker?Docker技术详细介绍
  • 基于Docker容器的云计算平台搭建实战
  • docker和VM虚拟机的区别以及如何用docker搭建基础设施
  • ​Docker容器术语以及docker的特点
  • Docker & Docker Hub
  • Introduction to Swarm, a Docker-native clustering system
  • Docker、Kubernetes、Neutron中的网络简介
  • ​James Turnbull:《The Docker Book》
  • Docker on AWS:Running Containers in the Cloud
  • Introduction docker Container Security
  • docker应用之利用Docker构建自动化运维
  • Docker基本原理简介和详细安装步骤介绍
  • Docker 基础用法和常用命令及选项介绍
  • Docker 端口映射,端口绑定操作介绍
  • Docker 四种网络模式及网络配置详细介绍
  • docker下通过Dockerfile指令构建镜像的指令选项介绍
  • ​Docker 容器数据管理,链接容器,构建私有库
  • Docker容器分析----好处和缺点介绍
  • 如何实现 coreos 下Docker 与分布式数据库结合
  • 应对 Docker 网络功能难题的挑战与思考
  • Docker着手将容器部署到私有云与公有云
  • 为现在和未来改善Docker安全
  • Docker容器与企业存储的结合思考
  • Docker监控以及cAdvisor和Prometheus监控工具的对比
  • ​有关Docker的八个令人难以置信的事实
  • ​部署 Docker 前必须问自己的四个问题
  • 程序猿,千万别说你不了解Docker!
  • 将要改变IT世界的的docker技术是什么?
  • Docker支持更深入的容器日志分析
  • Docker宣布支持Windows 10和Azure Windows Server
  • Docker 1.12.0到底有哪些不同之处
  • 云计算之Docker容器技术如何落地?
  • Docker v1.12.0-rc5 普通版实验版本下载,高级容器引擎
  • 针对Docker容器的监控指标
  • ​Docker 的步伐:DevOps 与 OS 化
  • 八个问题帮你快速了解Docker
  • ​什么是Docker以及docker的 诞生技术演进
  • ​Docker v1.12.1-rc1各种版本发布下载,高级容器引擎
  • ​Docker 1.12.0 改进了服务的负载均衡参数
  • Windows下Docker应用部署相关问题详解
  • Docker1.12 引擎使用体验 ​
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • ​Windows Server 2016提供Docker原生运行的企业级支持
  • ​传统应用的docker化迁移
  • Docker携手Windows Server
  • Docker扁平化网络设计与实现
  • Plesk 中操作和设置 Docker 容器
  • 如何通过 Docker 在 Linux 上托管 .NET Core
  • Docker 1.12.4应用容器引擎发布及下载地址
  • Docker v1.13.0 应用容器引擎正式版发布及下载地址
  • docker源码分析之容器日志处理与log-driver实现
  • 如何在win7,win8下面启动docker
  • win7,win8安装Docker具体过程
  • win7, win8安装docker需要了解的概念
  • win7,win8安装docker的依赖条件
  • Docker Toolbox 介绍
  • Arch下面安装启动及删除docker介绍
  • Debian 7(Wheezy)下面如何安装docker
  • Debian 8(Jessie )下面如何安装docker
  • 红帽RHEL下如何删除docker详细步骤介绍
  • 红帽RHEL下面设置docker服务自动启动
  • linux下不使用sudo命令执行docker的操作步骤
  • 红帽redhat下通过脚本和yum安装docker容器引擎的详细步骤
  • 红帽RHEL下安装docker依赖性检查
  • Ubuntu Vivid 15.04 下面安装docker的详细步骤
  • Ubuntu Trusty 14.04 (LTS) 下面安装docker及依赖关系检查
  • Ubuntu Raring 13.04 和 Saucy 13.10 (64 bit)下面安装docker
  • Ubuntu Precise 12.04 (LTS) (64-bit)下面安装docker
  • Docker支持的安装方式
  • 通过docker ps命令检查运行中的docker镜像
  • 关于docker入门教程
  • 通过docker search命令搜索可用docker镜像
  • 在docker容器中运行hello world!
  • 在docker容器中通过apt-get安装新的程序
  • 通过docker commit命令保存对docker容器的修改
  • 通过docker run命令运行新的docker镜像
  • 准备学习docker: docker version命令查看版本
  • 什么是Docker?Docker通常用于如下场景
  •  
    当前位置:  教程>docker中文入门学习手册

    Docker详细的应用与实践架构举例说明

     
        发布时间:2017-2-20  


        本文导语: Docker详细的应用与实践架构举例说明•Docker系统整体架构•Namespace•CGroup•Device Mapper•Start/Stop Container•Commit Image•Volume一、Docker系统整体架构二、Namespace•提供进程级别的资源隔离•为进程提供不同的命名空间视图•与虚拟机...

    Docker详细的应用实践架构举例说明

    •Docker系统整体架构
    红帽RHEL下如何删除docker详细步骤介绍 iis7站长之家
    CGroup
    Device Mapper
    •Start/Stop Container
    Commit Image
    Volume

    一、Docker系统整体架构


    二、Namespace
    •提供进程级别的资源隔离
    •为进程提供不同的命名空间视图
    •与虚拟机不同
    Namespace概念及当前支持的种类
    ipc (信号量消息队列共享内存
    •mnt (挂载点)
    pid (进程编号)
    net (网络设备、网络等)
    •uts (主机名与域名)
    user (用户和用户组)
    Namespace使用接口
    •创建新进程及namespace
    加入当前进程到新建namespace中
    •改变当前进程的namespace

    三、CGroup
    •提供进程的资源管理功能
    •资源管理主要涉及内存,CPU,IO
    •不依赖于Namespace,可单独使用
    管理功能通过VFS接口暴露
    CGroups提供通用框架,各子系统负责实现
    CGroups IO子系统
    •blkio — 块设备I/O限制
    •cpu — CPU限制
    •cpuacct — 自动生成CPU使用报告
    cpuset — 限定所使用的核
    memory — 限制内存
    •devices—控制任务访问设备
    •freezer— 挂起/恢复任务

    四、Device Mapper
    DM框架为上层应用提供了丰富的设备映射及IO策略方面的支持
    •Docker存储端实现之一使用DM - thin provision
    •上层通过dmsetup工具或libdevmapper库使用
    Docker storage driver
    •Docker支持Aufs,Btrfs,DM等
    •由于DM基于设备层,对上层文件系统layer Diff无 法直接支持,Docker手工比对文件实现
    •启动docker如果未指定stroage driver,依据os依次 选择aufs、btrfs、devicemapper
    DM thin-provision
    •允许多个虚拟设备存储在相同的数据卷中
    •支持任意深度的快照
    •支持元数据存储到单独的设备上
    DM-thin provision example
    dd if=/dev/zero of=metadata bs=1024k
    count=4096
    •dd if=/dev/zero of=data bs=1024k count=20480
    •losetup /dev/loop7 metadata
    •losetup /dev/loop6 data
    •dmsetup create pool --table "0 20971520 thin- pool /dev/loop7 /dev/loop6 128 0"
    •dmsetup message /dev/mapper/pool 0
    "create_thin 0"
    •dmsetup create thin --table "0 2097152 thin / dev/mapper/pool 0"
    •mkfs.ext4 /dev/mapper/thin
    mount /dev/mapper/thin /export
    Docker storage driver—DM thin provision
    •data和metadata需要两个块设备
    truncate生成文件loop设备
    •dm.loopdatasize=100G
    •dm.basesize=10G
    •dm.datadev指定pool使用的设备
    •dm.metadatadev指定metadata使用的设备
    •dd if=/dev/zero of=$metadata_dev bs=4096 count=1

    五、Start Container/Stop Container
    Start Docker& Start Container
    Start/Stop  Container注意点
    •docker退出时会依次stop各个container
    •Start container时mount相关设备
    •Stop container 时,monitor会做清理工作
    •docker异常停止时,各个container对应的 namespace等相关信息依然存在
    •docker启动时候会将之前的container stop,但 umount失败,start container会失败

    六、Commit Image


    七、Volume
    •Docker Volume 主要使用mount –bind操作来实现
    •Commit 操作是不会将Volume添加到新镜像
    •Volume-from 实现原理

    八、小结
    •当前Namespace功能仍不完善,需要更多的隔离
    •Docker主要用到CGroup的一部分子系统
    •Docker存储端仍需做一些选择或工作
    •选择DM thin-provision时需要注意data及metadata 的设置
    •docker start/stop之间的交互及扫尾工作
    •机器磁盘I/O很高时,会导致commit 操作相当耗时

      您可能感兴趣的文章:

    • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
      转载请注明:文章转载自:[169IT-IT技术资讯]
      本文标题:Docker详细的应用与实践架构举例说明
    相关文章推荐:


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3