容器管理工具docker和容器的规范与依赖

得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述容器管理工具docker和容器的规范与依赖相关的知识,希望能为你提供帮助。

容器管理工具docker容器管理工具主要是lxc和docker,因为后者外部模板较多,我们主要了解它
【容器管理工具docker和容器的规范与依赖】docker 启动一个容器需要外部模板,docker镜像可以保存在一个公共的地方共享使用。最主要镜像可以自定义配置再提交为一个镜像,一个镜像可以被启动多个容器
docker镜像是分层的,底层只读不写不删,镜像加载后会出现一个可写层,写入的数据会复制到容器目录,容器内的数据在删除容器后也会被随之删除
管理工具连接runtime与用户,传递用户的操作到runtime执行
编排工具当多个容器在主机运行时候,单独管理容器复杂易错,无法实现一台主机宕机后容器自动迁移从而高可用,也无法动态伸缩、故障自愈、批量执行,因此需要统一个管理的工具例如kubernetes
docker的优缺点

  1. 快速部署和交付
  2. 高效虚拟化、节省开支
  3. 简化配置
  4. 快速迁移和拓展
  5. 缺点:隔离不如虚拟机彻底
容器的规范(核心)OCI组织(类似OSI)通过约定规范从而保证容器的可移植性和互相操作性,主要规范为:
1、runtime spec
容器运行的地方
2、image format spec
容器镜像(ID、tag、os、architecture、author、create)
容器的依赖容器网络
docker network仅用于管理单机容器网络,多主机需要用到第三方开源网络,例如calico,flannel等

服务发现
动态伸缩决定容器IP也会改变,需要一种机制自动识别并将用户请求动态转发到新建设的容器上
kubernetes自带服务发现功能,注意要结合kube-dns服务解析内部域名

容器监控
可以用原生命令docker ps/top/stats 查看容器运行状态,也可以用第三方工具heapeter/prometheus监控

数据管理
容器的动态迁移会导致其在不同的host之间迁移,可以用逻辑卷/存储挂载等方式解决

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


    推荐阅读