Docker-容器相关核心技术
您当前的位置 : 首页 > BOB官方网站入口

Docker-容器相关核心技术

  容器技术除了的docker之外,还有coreOS的rkt,还有阿里的Pouch,为了能够更好的保证容器生态的标准性和健康可持续发展,包括Linux 基金会、Docker、微软、红帽谷歌和、IBM、等公司在2015年6月共同成立了一个叫open container(OCI)的组织,其目的是制定开放的标准的容器规范,目前OCI一共发布了两个规范,分别是runtime spec和image format spec,有了这两个规范,不同的容器公司开发的容器只要兼容这两个规范,就能够保证容器的可移植性和相互可操作性。

  runtime是真正运行容器的地方,因此为了运行不同的容器runtime需要和操作系统内核紧密合作相互在支持,以便为容器提供对应的运行环境

  管理工具连接runtime与用户,对用户更好的提供图形或命令方式操作,然后管理工具将用户操作传递给runtime执行。

  容器定义工具允许用户定义容器的属性和内容,以方便容器能够被保存、共享和重建。

  .Docker hub:docker官方的公共仓库,已经保存了大量的常用镜像,可以方便大家直接使用

  .Image registry:docker 官方提供的私有仓库部署工具,无web管理界面,目前使用较少

  .Harbor:vmware 提供的自带web界面自带认证功能的镜像仓库,目前有很多公司使用

  当多个容器在多个主机运行的时候,单独管理容器是相当复杂而且很容易出错,而且也没办法实现某一台主机宕机后容器自动迁移到其他主机以此来实现高可用的目的,也没办法实现动态伸缩的功能,因此就需要有一种工具能轻松实现统一管理、动态伸缩、故障自愈、批量执行等功能,这就是容器编排引擎

  docker自带的网络docker network仅支持管理单机上的容器网络,当多主机运行的时候需要用第三方开源网络,例如calico、flannel等

  容器的动态扩容特性决定了容器IP也会随之变化,因此就需要有一种机制开源自动识别并将用户请求动态转发到新创建的容器上,kubernetes自带服务发现功能,需要结合kube-dns服务解析内部域名

  可以通过原生命令docker ps/top/stats 查看容器运作时的状态,另外也可以使Prometheus 、heapster等第三方监控工具监控容器的运行状态

  容器的动态迁移会导致其在不同的Host之间迁移,因此如何保证与容器相关的数据也能随之迁移或随时访问,能够正常的使用逻辑卷/存储挂载等方式解决

  docker 原生的日志查看工具docker logs,但是容器内部的日志一定要通过ELK等专门的日志收集分析和展示工具做处理

Copyright © BOB体育半岛/登录入口在线 All rights reserved 备案号:辽ICP备05006460号-2 网站地图