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

Posted 林炜玮_51CTO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器管理工具docker和容器的规范与依赖相关的知识,希望对你有一定的参考价值。

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

容器管理工具docker

容器管理工具主要是lxc和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等专门日志收集分析和展示工具处理

以上是关于容器管理工具docker和容器的规范与依赖的主要内容,如果未能解决你的问题,请参考以下文章

容器技术Docker K8s 31 容器服务ACK基础与进阶-弹性伸缩

容器技术Docker K8s 30 容器服务ACK基础与进阶-弹性伸缩

容器技术Docker K8s 29 容器服务ACK基础与进阶-弹性伸缩

容器技术Docker K8s 28 容器服务ACK基础与进阶-弹性伸缩

分享吧带你初识Docker

容器技术Docker K8s 44 Serverless Kubernetes(ASK)详解-ASK弹性伸缩管理