docker基础篇

容器生态系统包含核心技术、平台技术和支持技术

核心技术:容器规范、容器 runtime、容器管理工具、容器定义工具、Registry 以及容器 OS

     OpenContainer InitiativeOCI的组织,其目是制定开放的容器规范

       runtimespec image format spec

runtime 是容器真正运行的地方。runtime需要跟操作系统 kernel 紧密协作,为容器提供运行环境。Java 程序就好比是容器,JVM 则好比是 runtime, 容器只有在runtime 中才能运行

主流的三种容器 runtime :lxcrunc rkt

Lxc :linux 老牌的容器runtime,docker最初使用的

Runc : Docker 自己开发,默认的容器 runtime,符合 oci 规范

rkt CoreOS 开发的容器 runtime,符合 oci 规范,因而能够运行 Docker 的容器。

容器管理工具

lxd lxc 对应的管理工具

runc 的管理工具是docker enginedocker engine 包含后台deamon cli 两个部分。我们通常提到Docker,一般就是指的 docker engine

rkt 的管理工具是 rktcli

容器定义工具

容器定义工具允许用户定义容器的内容和属性,这样容器就能够被保存,共享和重建

docker image 是 docker 容器的模板,runtime 依据 docker image 创建容器。

dockerfile 是包含若干命令的文本文件,可以通过这些命令创建出 docker image。

ACI (App Container Image) 与 docker image 类似,只不过它是由 CoreOS 开发的 rkt 容器的 image 格式。

Registry

统一存放 image的仓库,企业可以用Docker Registry 构建私有的 Registry

容器 OS

容器 OS 是专门运行容器的操作系统。与常规 OS 相比,容器 OS 通常体积更小,启动更快。

容器平台技术

容器核心技术使得容器能够在单个 host 上运行。而容器平台技术能够让容器作为集群在分布式环境中运行。容器平台技术包括容器编排引擎、容器管理平台和基于容器的 PaaS

容器编排引擎

高效的方法来管理容器集群

保证应用的高可用,每个组件都可能会运行多个相同的容器。这些容器会组成集群,集群中的容器会根据业务需要被动态地创建、迁移和销毁。

编排(orchestration),通常包括容器管理、调度、集群定义和服务发现等。通过容器编排引擎,容器被有机的组合成微服务应用,实现业务需求。

三种主流的容器编排引擎

dockerswarm Docker 开发的容器编排引擎。

kubernetes Google 领导开发的开源容器编排引擎,同时支持 Docker CoreOS 容器。

mesos 是一个通用的集群资源调度平台,mesos marathon 一起提供容器编排引擎功能。

容器管理平台:Rancher ContainerShip 是容器管理平台的典型代表

容器管理平台是架构在容器编排引擎之上的一个更为通用的平台。通常容器管理平台能够支持多种编排引擎,抽象了编排引擎的底层实现细节,为用户提供更方便的功能,比如 application catalog 和一键应用部署等

基于容器的 PaaS: DeisFlynn Dokku 都是开源容器 PaaS 的代表。

基于容器的 PaaS 为微服务应用开发人员和公司提供了开发、部署和管理应用的平台,使用户不必关心底层基础设施而专注于应用的开发

容器支持技术:容器网络,服务发现
 

 

容器网络:容器的出现使网络拓扑变得更加动态和复杂。用户需要专门的解决方案来管理容器与容器,容器与其他实体之间的连通性和隔离性。
dockernetwork Docker 原生的网络解决方案
第三方;nelweave calico

 

服务发现:etcdconsul zookeeper 是服务发现的典型解决方案。

动态变化是微服务应用的一大特点。当负载增加时,集群会自动创建新的容器;负载减小,多余的容器会被销毁。容器也会根据 host 的资源使用情况在不同 host 中迁移,容器的 IP 和端口也会随之发生变化。

client 能够知道如何访问容器提供的服务的机制

监控

dockerps/top/stats Docker 原生的命令行监控工具。除了命令行,Docker 也提供了 stats API,用户可以通过 HTTP 请求获取容器的状态信息。

sysdigcAdvisor/Heapster Weave Scope 是其他开源的容器监控方案

数据管理 :器经常会在不同的 host 之间迁移,如何保证持久化数据也能够动态迁移,是Flocker 这类数据管理工具提供的能力。
日志管理

docker logs Docker 原生的日志工具。而 logspout 对日志提供了路由功能,它可以收集不同容器的日志并转发给其他工具进行后处理。

安全性

OpenSCAP 能够对容器镜像进行扫描,发现潜在的漏洞。

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值