【Docker】容器的生态系统

Docker提供了一整套技术支持,包括核心技术、平台技术、支持技术。

核心技术

容器核心技术是指能让Container(容器)在host(集群、主机)上运行起来的那些技术。

1)容器规范:OCI(runtime spec+image format spec)

specification:标准是基础,统一容器的标准,好似usb接口取代了许多电脑接口,来源于标准化,主要使runtime和image进行标准化。

(2)容器runtime:是容器真正运行的地方。需要跟操作系统的kernel紧密协作,为容器提供运行环境。容器只有在runtime才能运行
主流的容器runtime:lxc、runc、rkt

lxd:原docker默认的runtime,来源于Linux。
runc:docker自己开发的runtime(rkt是CoreOS公司开发的容器runtime,docker默认容器)
(3)容器管理工具:
对内与runtime交互,对外为用户提供interface(界面)。
常用的容器管理工具:
lxd(是lxc对应的管理工具);
runc的管理工具是docker engine。docker engine包括后台deamon和cli两部分。
rkt的管理工具是rkt cli。
(4)容器定义工具:
容器定义工具:允许用户定义容器的内容和属性。这样容器就能够被保存、共享和重建。
常用的容器定义工具:
docker image:是docker容器的模板,runtime一句docker image创建容器;
dockerfile:是包含若干命令的文本文件,可以通过这些命令创建出docker image;
ACI(App Container Image):与docker image类似,不过它是由CoreOS开发的rkt容器的image格式。
(5)容器仓库:容器是通过image创建的,需要有一个仓库来统一存放image,这个仓库就叫做Registry。
Docker Registry:企业可以用Docker Registry构建私有的Registry;
Docker Hub:是docker为公众提供的托管registry,有很多现成的image;
Quay.io:也是一个公共托管registry,由红帽公司提供。
(6)容器OS:是专门运行容器的操作系统。
常用:coreos、atomic、ubuntu core。

平台技术

容器平台技术支持容器集群在分布式环境中运行。

(1)容器编排引擎
要干的工作:用高效的方法来管理容器集群。
常用容器编排引擎:
docker swarm:是Docker开发的容器编排引擎;
kubernetes:是Google领导开发的开源容器编排引擎,同时支持Docker和CoreOS容器;
mesos:是一个通用的集群资源调度平台,mesos与marathon一起提供容器编排引擎功能。
(2)容器管理平台
是架构在容器编排引擎之上的一个更通用的平台。
通常容器管理平台支持多种编排引擎,抽象了编排引擎的底层实现细节。
典型代表:Rancher、ContainerShip。
(3)基于容器的PaaS
PaaS即(Platform-as-a-Service:平台即服务。
基于容器的PaaS为微服务应用开发人员和公司提供了开发、部署和管理应用的平台,使用户不必关心底层基础设施而专注于应用的开发。
开源容器PaaS的代表:Deis、Flynn、Dokku。

支持技术

容器支持技术是用来支持容器设备的技术,有了这些技术的支持,容器才能完整地运行并运行到企业中。

(1)容器网络
docker network:是Docker原生的网络解决方案;
flannel:第三方开源解决方案;
weave:第三方开源解决方案;
calico:第三方开源解决方案。
(2)服务发现
动态变化是微服务应用的一大特点。当负载增加时,集群会自动创建新的容器;负载减小,多余的容器会被销毁。
容器也会根据host的资源使用情况在不同host中迁移。
服务发现的典型解决方案:etcd、consul、zookeeper。
(3)监控
docker ps/top/stats:是Docker原生的命令行监控工具;
docker stats API:可以通过HTTP请求获取容器的状态信息;
sysdig:开源的容器监控方案;
cAdvisor/Heapster:开源的容器监控方案;
Weave Scope:开源的容器监控方案。
(4)数据管理
容器经常在不同的host之间迁移。
如何保证持久化数据也能动态迁移,是Rex-Ray这类数据管理工具提供的能力。
(5)日志管理
日志工具有两类:
docker logs:是Docker原生的日志工具。
logspout:对日志提供了路由功能,可以收集不同容器的日志并转发给其他工具进行后处理。
(6)安全性
OpenSCAP:是一种容器安全工具。能够对容器镜像进行扫描,发现潜在的漏洞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/444183.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

round四舍五入在python2与python3版本间区别

round()方法返回数值的小数点四舍五入到n个数字。 语法 以下是round()方法的语法: round( x ,n) 参数 x --这是一个数值,表示需要格式化的数值 n --这也是一个数值,表示小数点后保留多少位 返回值 该方法返回 数值x 的小数点四舍五入到n个数字 …

计算机设计大赛 疲劳驾驶检测系统 python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列&#x…

图|dfs bfs|最小生成树|最短路|一篇搞定图的所有知识点

文章目录 图前言项目代码仓库图的基本概念图的表示方法邻接矩阵邻接表图的一些相关概念 图的遍历bfsdfs如果给的图不是连通图? 最小生成树Kruskal算法Prim算法 最短路径单源最短路径--Dijkstra算法单源最短路径--Bellman-Ford算法多源最短路径--Floyd-Warshall算法 …

数据治理实践——YY 直播业务指标治理实践

目录 一、问题背景 1.1 问题场景 1.2 问题小结 二、治理方案 2.1 治理目标 2.2 团队协同,共建规范 2.3 指标管理的定位 2.4 指标管理的目标及思路 2.5 指标管理,规范内容落地 2.6 数仓设计-关联指标维度 2.7 数据报表开发-配置口径说明 2.8 …

MongoDB在Linux环境下的安装与配置

目录 1. 准备工作 2. 安装MongoDB 2.1 传输MongoDB安装包 2.2 解压安装包 2.3 创建MongoDB安装目录 2.4 创建数据目录和日志目录 3. 启动MongoDB服务 3.1 启动MongoDB 3.2 连接MongoDB 3.3 退出MongoDB 1. 准备工作 在安装MongoDB之前,请确保您已具备以下…

Solidity Uniswap V2 价格预言机

预言机是连接区块链与链下服务的桥梁,这样就可以从智能合约中查询现实世界的数据。Chainlink 是最大的oracle网络之一,创建于 2017 年,如今已成为许多 DeFi 应用的重要组成部分。https://github.com/XuHugo/solidityproject Uniswap 虽然是链…

【leetcode热题】寻找旋转排序数组中的最小值 II

难度: 困难通过率: 38.7%题目链接:. - 力扣(LeetCode) 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的…

【react框架】跟我一起速读Next.js官方入门教学课程文档

文章目录 前言目录结构样式方案正常引入样式文件Tailwind方案CSS Modules方案clsx方案 文字和图片优化文字图片 Pages和Layout的机制PagesLayout 通过Link组件改变路由并且拆分打包提供Hooks通过Vercel创建数据未完待续... 前言 对于那些对Next.js一无所知的前端伙伴来说&…

鸿蒙开发(二)-项目结构

鸿蒙开发(二)-项目结构 上篇文章我们讲了如何配置鸿蒙开发的基础环境,以及创建了第一个鸿蒙程序。 这篇我们讲述了鸿蒙应用的项目目录结构。 如图所示:我们切换项目project可以看到。 另一种则是Ohos模式: AppScope->app.json5 应用的全局配置 {&q…

华为新发布磁电存储“王炸”,到底是什么?

最近,在巴塞罗那举行的2024年世界移动通信大会(MWC24)上,华为数据存储产品线总裁周彼得博士介绍了这款即将面世的产品。他向听众表示,与磁带存储相比,该设备可以降低20%的总连接成本,而与硬盘相…

DHCP中继实验(华为)

思科设备参考: 一,技术简介 DHCP中继,可以实现在不同子网和物理网段之间处理和转发DHCP信息的功能。如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的IP地址。如果不在同一个物理网段,…

Web渗透测试流程

什么是渗透测试 渗透测试 (penetration test),是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个…

机器学习第29周周报 Beyond Dropout

文章目录 week29 Beyond Dropout摘要Abstract一、泛化理论二、文献阅读1. 题目2. abstract3. 网络架构3.1 特征图失真3.2 失真优化 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 全连接层实验4.3.2 卷积网络上的实验 4.4 结论 小结参考文献 week29 Beyond Dropout …

国产硅片膜厚检测仪

硅片膜厚检测仪是半导体行业中一种至关重要的设备,用于精确测量硅片上薄膜的厚度。在半导体制造工艺中,薄膜厚度的控制对于保证器件性能和可靠性具有决定性的作用。因此,硅片膜厚检测仪的研发和应用对于推动半导体技术的发展具有重要意义。 一…

SSM框架,MyBatis-Plus的学习(下)

条件构造器 使用MyBatis-Plus的条件构造器,可以构建灵活高效的查询条件,可以通过链式调用来组合多个条件。 条件构造器的继承结构 Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装&#xf…

苍穹外卖-day01

苍穹外卖-day01 目录 苍穹外卖-day01课程内容1. 软件开发整体介绍1.1 软件开发流程1.2 角色分工1.3 软件环境 2. 苍穹外卖项目介绍2.1 项目介绍2.2 产品原型2.3 技术选型 3. 开发环境搭建3.1 前端环境搭建3.2 后端环境搭建3.2.1 熟悉项目结构3.2.2 Git版本控制3.2.3 数据库环境…

一篇搞懂什么是LRU缓存|一篇搞懂LRU缓存的实现|LRUCache详解和实现

LRUCache 文章目录 LRUCache前言项目代码仓库什么时候会用到缓存(Cache)缓存满了,怎么办?什么是LRUCacheLRUCache的实现LRUCache对应的OJ题实现LRUCache对应的STL风格实现 前言 这里分享我的一些博客专栏,都是干货满满的。 手撕数据结构专栏…

账号管理支持批量测试资产可连接性,资产管理支持通过标签方式选择资产,JumpServer堡垒机v3.10.4 LTS版本发布

2024年3月4日,JumpServer开源堡垒机正式发布v3.10.4 LTS版本。JumpServer开源项目组将对v3.10 LTS版本提供长期的支持和优化,并定期迭代发布小版本。欢迎广大社区用户升级至v3.10 LTS最新版本,以获得更佳的使用体验。 在v3.10.4 LTS版本中&a…

Chrome中如何导出和导入书签

导出书签 如下图所示: 右上角三点->书签和清单->书签管理器->右上角三点->导出书签 然后你选择保存地址即可。打开后如下: 导入书签 如下图所示: 右上角三点->书签和清单->导入书签和设置->选择以前导出的书签&…

基于Vue移动端电影票务服务APP设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 Vue框架 3 1.2 数据库MongoDB 3 1.3 Axios请求 3 1.4 H5、CSS3和JavaScript 4 1.5 本章小结 4 2 系统分析 5 2.1 功能需求 5 2.2 用例分析 5 2.3 用户功能 6 2.4本章小结 6 3 基于Vue电影票务服务APP设计 7 3.1 页面设计 …