容器管理工具docker和容器的规范与依赖
Posted 林炜玮_51CTO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器管理工具docker和容器的规范与依赖相关的知识,希望对你有一定的参考价值。
容器管理工具docker
容器管理工具主要是lxc和docker,因为后者外部模板较多,我们主要了解它
docker 启动一个容器需要外部模板,docker镜像可以保存在一个公共的地方共享使用。最主要镜像可以自定义配置再提交为一个镜像,一个镜像可以被启动多个容器
docker镜像是分层的,底层只读不写不删,镜像加载后会出现一个可写层,写入的数据会复制到容器目录,容器内的数据在删除容器后也会被随之删除
管理工具连接runtime与用户,传递用户的操作到runtime执行
编排工具
当多个容器在主机运行时候,单独管理容器复杂易错,无法实现一台主机宕机后容器自动迁移从而高可用,也无法动态伸缩、故障自愈、批量执行,因此需要统一个管理的工具例如kubernetes
docker的优缺点
- 快速部署和交付
- 高效虚拟化、节省开支
- 简化配置
- 快速迁移和拓展
- 缺点:隔离不如虚拟机彻底
容器的规范(核心)
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基础与进阶-弹性伸缩