当前位置: 首页 > news >正文

docker imageID计算

Image ID是在本地由Docker根据镜像的描述文件计算的,并用于imagedb的目录名称

docker镜像id都保存在/var/lib/docker/image/overlay2/imagedb/content/sha256下面,都是一些以sha256sum计算文件内容得出的哈希值的文件。

#ls /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e  -al
-rw------- 1 root root 1784 Mar 27  2021 /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e#docker images| grep f94
xxx/library/k8s.gcr.io/metrics-server-noarch   v0.3.6                                                           f9499facb1e8        3 years ago         38.3MB对比上面可以发现/xxx/sha256值和镜像Id一样计算imageID的值
#sha256sum   /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e 
f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e  /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e查看镜像信息
#cat    /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e | jq
上面的命令和docker inspect <imageID>的输出内容是一致的

docker inspect信息保存在了/var/lib/docker/image/overlay2/layerdb/mounts下:

# cd /var/lib/docker/image/overlay2/layerdb/mounts
# cd <container-id>     //某个容器的id
# ls

发现里面有init-id、mount-id、parent三个文件。

  • init-id存储了init层的编号,和mount-id一致。

  • parent包含了最高层的chainID,也就是说通过最高层的chainID,再找其真正的cache-id,

3dd8c8d4fd5b59d543c8f75a67cdfaab30aef5a6d99aea3fe74d8cc69d4e7bf2 chainID ,也就是说chainID为逻辑上的,实际使用的为cache-id.

  • mount-id

    # cat mount-id // 查看mount id号
    # mount | grep overlay
    # cd /var/lib/docker/overlay2/<mount-id>
    包含了一个文件lower,它指定了他的底层(父层),diff文件夹也是存储了这个层的具体内容,merged文件夹包含了它和它的底(父)层的合并内容这就是镜像+容器的所有内容,work文件夹提供Overlay内部使用

镜像ID的生成过程参考:https://github.com/distribution/distribution/blob/main/docs/spec/api.md

相关文章:

docker imageID计算

Image ID是在本地由Docker根据镜像的描述文件计算的&#xff0c;并用于imagedb的目录名称 docker镜像id都保存在/var/lib/docker/image/overlay2/imagedb/content/sha256下面&#xff0c;都是一些以sha256sum计算文件内容得出的哈希值的文件。 #ls /var/lib/docker/image/ove…...

借助媛如意让ROS机器人turtlesim画出美丽的曲线-云课版本

首先安装并打开猿如意其次打开蓝桥云课ROS并加入课程在猿如意输入问题得到答案在蓝桥云课ROS验证如何通过turtlesim入门ROS机器人您可以通过以下步骤入门ROS机器人&#xff1a;安装ROS&#xff1a;您需要安装ROS&#xff0c;可以在ROS官网上找到安装指南。安装turtlesim&#x…...

小区业主入户安检小程序开发

小区业主入户安检小程序开发 可针对不同行业自定义安检项目&#xff0c;线下安检&#xff0c;线上留存&#xff08;安检拍照/录像&#xff09;&#xff0c;提高安检人员安检效率 功能特性&#xff0c;为你介绍小区入户安检系统的功能特性。 小区管理;后台可添加需要安检的小区…...

【C++知识点】异常处理

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;C/C知识点 &#x1f4e3;专栏定位&#xff1a;整理一下 C 相关的知识点&#xff0c;供大家学习参考~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;…...

【FATE联邦学习debug】 No module named ‘federatedml‘

直接pip install federatedml是无法找得到这个库的。 这个的原因是环境变量的事情&#xff0c;因为在部署文档中&#xff0c;本身提示我们要更新一些环境变量&#xff0c;如果不export那些变量&#xff0c;下面的fate_test其实也是无法测试成功的。 打开bin/init_env.sh&#x…...

【Git】P1 Git 基础

Git 基础Git 基本概念集中式版本控制工具 与 分布式版本控制工具Git 下载与安装Bash 初始设置创建本地仓库Git 三区概念一个简单的提交流程更改文件后再次提交git 实现版本切换查看提交日志设置 git 快捷键版本切换&#xff08;一&#xff09;版本切换&#xff08;二&#xff0…...

智能交通数据集Rope3D(仅限科研使用)

Rope3D Dataset 官网&#xff1a;https://thudair.baai.ac.cn/index &#xff01;&#xff01;&#xff01;如想要使用Rope3D数据集进行2D检测&#xff0c;最后有我们处理完的数据集链接。 &#xff01;&#xff01;&#xff01; 介绍&#xff1a; DAIR-V2X数据集是首个用于…...

Java虚拟机JVM-面试题

1、Java 虚拟机是如何捕获异常的&#xff1f; 答&#xff1a; 在编译生成的字节码中&#xff0c;每个方法都附带一个异常表。异常表中的每一个条目代表一个异常处理器&#xff0c;并且由 from 指针、to 指针、target 指针以及所捕获的异常类型构成。这些指针的值是字节码索引…...

详细的说说Redis的数据类型

Redis是一个开源的内存数据库&#xff0c;它可以用作缓存、消息代理、实时数据处理和许多其他用途。Redis是一个key-value存储系统&#xff0c;其中数据存储在内存中&#xff0c;并通过网络进行访问。与传统的关系型数据库不同&#xff0c;Redis支持多种数据结构&#xff0c;包…...

798.差分矩阵

输入一个 n行 m列的整数矩阵&#xff0c;再输入 q个操作&#xff0c;每个操作包含五个整数 x1,y1,x2,y2,c&#xff0c;其中 (x1,y1)和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 c。 请你将进行完所有操作后的矩阵输出…...

InfluxDB 2 介绍与使用 flux查询 数据可视化

一、关键概念 相比V1 移除了database 和 RP&#xff0c;增加了bucket。 V2具有以下几个概念&#xff1a; timestamp、field key、field value、field set、tag key、tag value、tag set、measurement、series、point、bucket、bucket schema、organization 新增的概念&…...

Qt QTreeView简单使用

QT-QTreeView使用方法 QTreeView: 用于显示树状结构数据&#xff0c;适用于树状结构数据的操作。 一、初始化 ​ 利用QStandardlternModel来初始化数据&#xff0c;标准的基于项数据的数据模型类&#xff0c; 每个项数据可以是任何数据类型。 // 初始化model QStandardItem…...

Wannacrypt蠕虫老树开花?又见Wannacrypt

Wannacrypt蠕虫是一个在2017年就出现的远古毒株&#xff0c;其利用永恒之蓝漏洞降维打击用户服务器&#xff0c;而后进行扩散勒索&#xff0c;曾经一度风靡全球&#xff0c;可谓是闻者伤心&#xff0c;听着落泪&#xff0c;因为这玩意解密是不可能 解密的。 而2023年的今天&am…...

结合基于规则和机器学习的方法构建强大的混合系统

经过这些年的发展&#xff0c;我们都确信ML即使不能表现得更好&#xff0c;至少也可以在几乎所有地方与前ML时代的解决方案相匹配。比如说一些规则约束&#xff0c;我们都会想到能否把它们替换为基于树的ml模型。但是世界并不总是黑白分明的&#xff0c;虽然机器学习在解决问题…...

Spring Security OAuth2实现多用户类型认证、刷新Token

原本的OAuth2登录支持用户名密码登录&#xff0c;现在还想支持另外用id号码和密码登录。但是OAuth2默认提供的UserDetailsService只允许传入一个参数&#xff1a;想要实现多种用户登录&#xff0c;是不是可以考虑loadUserByUsername方法携带多个参数呢&#xff1f;接下来记录一…...

云计算介绍,让你更了解云计算

同学们好&#xff01; 第一次接触IT行业吗&#xff1f;没关系&#xff0c;看完这篇文章肯定会让你不再陌生。给自己几分钟时间&#xff0c;认真看完哦&#xff01; 1、不知道什么是云计算&#xff1f; 网络计算云计算 官方定义是&#xff1a;通过网络提供可伸缩的分布式计算…...

阿里大佬翻遍全网Java面试文章,总结出这份1658页文档,GitHub收获25K+点赞

就目前大环境来看&#xff0c;跳槽成功的难度比往年高很多。一个明显的感受&#xff1a;今年的面试&#xff0c;无论一面还是二面&#xff0c;都很考验Java程序员的技术功底。这不又到了面试跳槽的黄金段&#xff0c;成功升职加薪&#xff0c;不成功饱受打击。当然也要注意&…...

【JDK1.8 新特性】Lambda表达式

1. 什么是Lambda表达式&#xff1f; Lambda 是一个匿名函数&#xff0c;我们可以把 Lambda 表达式理解为是一段可以传递的代码&#xff08;将代码像数据一样进行传递&#xff09;。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格&#xff0c;使Java的语言表达…...

【Vue.js】Vuex核心概念

文章目录全局状态管理模式Vuexvuex是什么&#xff1f;什么是“状态管理模式”&#xff1f;vuex的应用场景Vuex安装开始核心概念一、State1、单一状态树2、在 Vue 组件中获得 Vuex 状态3、mapState辅助函数二、Getter三、Mutation1、提交载荷&#xff08;Payload&#xff09;2、…...

react router零基础使用教程

安装既然学习 react router 就免不了运行 react安装 reactnpx create-react-app my-appcd my-appnpm start安装 react routernpm install react-router-dom如果一切正常&#xff0c;就让我们打开 index.js 文件。配置路由引入 react-router-dom 的 RouterProviderimport {Route…...

AI智能体自我进化:基于Diff机制的自动化优化实践

1. 项目概述&#xff1a;当AI智能体学会“自我进化”最近在开源社区里&#xff0c;一个名为agentdiff的项目引起了我的注意。它的核心想法非常有趣&#xff1a;让AI智能体&#xff08;Agent&#xff09;能够像我们人类一样&#xff0c;通过“反思”和“对比”来学习和进化。简单…...

Instill Core:一站式AI应用构建平台,从数据处理到模型部署全流程实战

1. 项目概述&#xff1a;一站式AI应用构建平台如果你正在为如何将一堆杂乱无章的文档、图片、音频视频数据&#xff0c;转化为可供AI模型直接“食用”的格式而头疼&#xff0c;或者厌倦了在模型部署、API编排和数据处理工具之间反复横跳&#xff0c;那么Instill Core的出现&…...

ARM GIC中断控制器虚拟化架构与优化实践

1. ARM GIC中断控制器虚拟化架构概述中断控制器是现代计算机系统中至关重要的组件&#xff0c;特别是在虚拟化环境中&#xff0c;高效的中断处理机制直接影响着虚拟机的性能和响应能力。ARM架构的通用中断控制器(GIC)从v3版本开始引入了完整的虚拟化支持&#xff0c;为虚拟机监…...

CV前沿论文实战解码:轻量化与多模态对齐的工程落地指南

1. 这不是“论文速递”&#xff0c;而是一份面向实战者的CV研究动态解码指南你点开这个标题&#xff0c;大概率不是为了收藏一份PDF列表&#xff0c;而是想快速判断&#xff1a;这篇新出的视觉论文&#xff0c;值不值得我花三小时精读&#xff1f;它背后的技术思路&#xff0c;…...

国产AI模型平台突围战:模力方舟如何用开源生态打破大厂垄断?

当全球AI竞赛进入深水区&#xff0c;中国开发者正面临关键抉择&#xff1a;是继续依赖封闭的大厂生态&#xff0c;还是拥抱更开放的本土化解决方案&#xff1f;2023年中国AI模型平台市场数据显示&#xff0c;百度千帆、阿里ModelScope、华为ModelArts三大平台占据72%市场份额&a…...

如何用Rye与Docker打造无缝Python容器开发环境:完整实践指南

如何用Rye与Docker打造无缝Python容器开发环境&#xff1a;完整实践指南 【免费下载链接】rye a Hassle-Free Python Experience 项目地址: https://gitcode.com/gh_mirrors/ry/rye Rye是一款旨在提供无忧Python开发体验&#xff08;a Hassle-Free Python Experience&am…...

基于Gemini CLI Blueprint框架构建AI命令行工具:从原理到实践

1. 项目概述与核心价值最近在折腾AI命令行工具&#xff0c;发现了一个挺有意思的项目&#xff1a;gplasky/gemini-cli-blueprint-extension。乍一看这个名字&#xff0c;你可能觉得它就是个给某个AI模型&#xff08;Gemini&#xff09;做的命令行扩展。但如果你深入进去&#x…...

无人机安全测试终极实战指南:3大攻击向量深度解析与防护策略

无人机安全测试终极实战指南&#xff1a;3大攻击向量深度解析与防护策略 【免费下载链接】Drone-Hacking-Tool Drone Hacking Tool is a GUI tool that works with a USB Wifi adapter and HackRF One for hacking drones. 项目地址: https://gitcode.com/gh_mirrors/dr/Dron…...

003、LVGL与其他GUI库对比

LVGL与其他GUI库对比:从一次内存泄漏调试说起 去年做一款智能家居中控屏,选了某款轻量级GUI库,跑了两周发现系统每隔几小时就卡死一次。用FreeRTOS的任务栈监控一看,某个绘图任务栈溢出——查了三天,发现是字体缓存没释放,每次切换界面都偷偷吃掉几百字节。后来换成LVGL…...

STM32CubeMX LL库配置外部中断,从按键消抖到中断嵌套的实战避坑指南

STM32CubeMX LL库外部中断深度优化&#xff1a;从硬件消抖到中断嵌套的工程实践 当你的嵌入式系统需要实时响应外部事件时&#xff0c;外部中断(EXTI)往往是最高效的选择。但在实际项目中&#xff0c;简单配置EXTI只是开始——按键抖动导致的误触发、中断优先级冲突引发的死锁、…...