docker 查看和分析镜像内文件

news2024/10/6 1:36:15

docker inspect

docker inspect node:alpine

查看元数据信息,一共有三层

"RootFS": {
    "Type": "layers",
    "Layers": [
        "sha256:8c6806a0692459f603d074b4a7bdd38915650f1563f4ec728dad229475a52090",
        "sha256:4656c0b053bfca9757d728365435a799b6e052441b319a1f534f8b74b98dbc45",
        "sha256:0d0e6d337afe2727f2ad81039883c2f5ecc7867771925a7362964b9083d92470"
    ]
}

Docker 文件系统是在宿主机上完成 Merge 后,再挂载到容器内的。容器运行后进行docker inspect

"GraphDriver": {
    "Data": {
        "LowerDir": "/var/lib/docker/overlay2/271aa46cedf7db63ae21b7d5-init/diff:/var/lib/docker/overlay2/95ea717ce9129f68d7d0894c/diff:/var/lib/docker/overlay2/49cf2548f3e28be0a/diff:/var/lib/docker/overlay2/36d2dca45620efab7d5/diff",
        "MergedDir": "/var/lib/docker/overlay2/271aa46cedf7db63ae21c1e246269/merged",
        "UpperDir": "/var/lib/docker/overlay2/271aa46cedf7db63afc5c1e246269/diff",
        "WorkDir": "/var/lib/docker/overlay2/271aa46cedf7dfc5c1e246269/work"
    },
	"Name": "overlay2"
 }
  • LowerDir:包含容器内所有层的文件系统,最后一层除外
  • UpperDir:容器最上层的文件系统。这也是反映任何运行时修改的地方。
  • MergedDir:文件系统所有层的组合视图。
  • WorkDir:用于管理文件系统的内部工作目录

得到如下目录即容器的文件系统,该文件系统内能找到add到image中的文件

/var/lib/docker/overlay2/756eb8b3d8663ff88c75c8b2cb24a5ea3d4762da69c68bd9c92bfe3c0c56b368/merged

docker history image

查看镜像的构建历史

docker history zhaojiew/simpleweb
IMAGE          CREATED        CREATED BY                                      SIZE      COMMENT
6a2afd7620b8   3 months ago   /bin/sh -c #(nop)  ENTRYPOINT ["bash" "entry…   0B
<missing>      3 months ago   /bin/sh -c #(nop) COPY dir:b3bfde9230ae02419…   367kB
<missing>      3 months ago   /bin/sh -c #(nop) WORKDIR /opt/web              0B
<missing>      3 months ago   /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B
<missing>      3 months ago   /bin/sh -c #(nop) ADD file:33ce740675602f891…   164MB

undocker

将image存储为压缩包之后解压,查看image内部文件

sudo docker pull amazonlinux:2
sudo docker save -o al2.tar amazonlinux:2
sudo tar xvf al2.tar
# sudo docker load -i al2.tar

查看分层

cat manifest.json

之后分别解压各层能查看到add到image中的文件

此外还有现成的undocker工具完成这件事,它会直接将所有层解压缩在一起

mkdir image
undocker extract zhaojiew/simpleweb ./image

dive

用于探索 docker 镜像层内容以及发现减小 docker 镜像大小的工具

这个工具能够包含之前所有命令的功能,包括查看层数,每层的文件系统目录和文件结构等

还有一个图形化的工具diving更方便查看

https://github.com/vicanso/diving

docker run -d --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -p 7001:7001 \
  vicanso/diving

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9rPMjXU3-1676540469297)(assets/image-20230216173955074.png)]

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python学习-----函数4.0(递归函数习题)

目录 递归算法 1.进制数转换 2.阶乘递归 3.递归获取两个数之间最小公倍数 4.递归获取两个数字之间最大公约数 5.斐波那契数列 5.递归求得数列的最值 6.倒序输出 7.递归二分法查找 递归算法 递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过…

部署JDK+tomcat上线jspgou项目

系列文章目录 文章目录系列文章目录一、前言二、Tomcat部署1、Tomcat Http Server2、安装MySQL3、部署jspgou&#xff08;电子商城&#xff09;一、前言 什么是JAVA虚拟机 所谓虚拟机&#xff0c;就是一台虚拟的计算机。他是一款软件&#xff0c;用来执行一系列虚拟计算机指令…

背景透明(opacity vs background)

最近在做项目的时候&#xff0c;遇到透明度的相关设置。 常用的背景透明设置可分为两种&#xff0c;分别是&#xff1a; 一是给background设置透明度。二是利用opacity属性。 在跳了一些坑之后&#xff0c;本人更推荐给background设置透明度&#xff0c;为什么呢&#xff1f;…

【QCA6174】SDX12 WiFi QCA6174 bdwlan30.bin和bdwlan30.txt相互转化操作说明

1.从高通获bin文件和txt文件相互转化工具 软件包名称 QCA6174_BDF_Converter.zip 2.解压工具包&#xff0c;解压之后包括以下文件 3.从sdx12 sdk拷贝bdwlan30.bin 路径如下&#xff0c;将bdwlan30.bin放到QCA6174_BDF_Converter目录下 ./cnss_proc_firmware/cnss_proc/wlan…

Twitter账号老被封?一文教会你怎么养号

昨天龙哥给大家科普完要怎么批量注册Twitter账号&#xff0c;立刻有朋友来私信龙哥说里面提到的这个养号和防关联具体是个怎么样的做法。由于Twitter检测机制还是比较敏感的&#xff0c;账号很容易被冻结&#xff0c;所以养号是非常重要的步骤。其实要养好Twitter账号其实并不难…

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)

极速部署kafka3.2.0集群准备工作&#xff1a;准备三台服务器部署Zookeeper集群部署kafka集群创建Topic开启JMX_PORTkafka集群管理工具使用的 KakfaStreaming准备工作&#xff1a;准备三台服务器 服务器地址缩写192.168.0.200200192.168.0.201201192.168.0.202202 一、完成服务…

格创东智与金羽新能合作|先进工业互联网助力固态电池智能化运营

2022年12月&#xff0c;浙江金羽新能源科技有限公司&#xff08;以下简称金羽新能&#xff09;与格创东智签订战略合作框架协议&#xff0c;并在湖州安吉举行金羽新能固态电池MES项目启动会。 固态电池是一种使用固体电极和固体电解质的电池。相较传统锂电池&#xff08;液态电…

Android开发初识

文章目录一 Android发展历程二 开发工具Android Studio的发展历程三 硬件要求四 Android Studio 的安装和使用一 Android发展历程 安卓&#xff08;Android&#xff09;是一种基于Linux内核&#xff08;不包含GNU组件&#xff09;的自由及开放源代码的操作系统。 由美国Google公…

解药 or 毒药:ChatGPT辅助设计,规划师和建筑师要失业了吗?

​人工智能聊天机器人ChatGPT火爆全球&#xff0c; 规划师笔记也紧赶潮流&#xff0c;快速尝试&#xff0c; AI与设计发生碰撞&#xff0c; 会产生怎样的火花&#xff1f; 运用AI帮助写文案、作图、视频剪辑、游戏制作等等随着2021被称为元宇宙元年&#xff0c;近些年来AI在…

中国地图航线图(echarjs)

1、以上为效果图 需要jq、echarjs、china.json三个文件支持。以上 2、具体代码 DOM部分 <!-- 服务范围 GO--> <div class"m-maps"><div id"main" style"width:1400px;height: 800px; margin: 0 auto;"> </div> <!-…

【Java基础】021 -- 常见算法及API(查找、排序、Arrays)

目录 常见算法 1、企业中的常见算法 一、查找算法 1、基本查找&#xff08;数据没有任何顺序&#xff09; ①、代码实现&#xff1a; ②、课堂练习&#xff1a; 2、二分查找/折半查找&#xff08;数据一定要有顺序&#xff09; ①、示例情况&#xff1a; ②、代码实现&#xff…

一文搞懂ECU休眠唤醒之利器-TJA1145

前言 首先&#xff0c;小T请教大家几个小小问题&#xff0c;你清楚&#xff1a; 什么是TJA1145吗&#xff1f;你知道休眠唤醒控制基本逻辑是怎么样的吗&#xff1f;TJA1145又是如何控制ECU进行休眠唤醒的呢&#xff1f;使用TJA1145时有哪些注意事项呢&#xff1f; 今天&…

自动化测试的12个认识误区给后人避坑

自动化测试的12个认识误区 1、自动化的软件测试与手工的软件测试过程一样 自动化测试所需要的技巧与手工测试所需要的技巧是不一样的。 通常&#xff0c;你的项目经理会被那些测试工具销售们迷惑&#xff0c;认为自动化的软件测试就是简单地按一个录制的按钮&#xff0c;产…

电脑风扇声音大怎么办?五个好用的方法【完整教程】

电脑风扇可以电脑更好地运行&#xff0c;但是很多小伙伴投稿&#xff0c;说它们的电脑风扇不知道什么原因&#xff0c;风扇的声音很大。电脑风扇声音大怎么办&#xff1f;来看本文讲解的5个原因以及对应的解决方法。 操作环境&#xff1a; 演示机型&#xff1a;Dell optiplex 7…

如何备考pmp才能一次通过?

只有努力学习PMP知识&#xff0c;才能一次性通过这次考试&#xff0c;这是大家公认的。 但一味地埋头学习是枯燥而低效&#xff0c;学习还是要注重方法&#xff0c;下面我就来谈谈PMP的学习方法&#xff0c;希望能够帮助到你&#xff0c;一把通过pmp考试。 把PMBOK当作小说来…

Redis三 高级篇-2. 多级缓存

多级缓存 《Redis三 高级篇-2. 多级缓存》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《Redis三 高级篇-2. 多级缓存》多级缓存《Redis三 高级篇-2. 多级缓存》1. 什么是多级缓存2. JVM进程缓存2.1 导入案例2.2 初识Caffeine2.3 实现JVM进程缓存2.3.…

网络编程套接字Socket

一.什么是网络编程网络编程&#xff0c;指网络上的主机&#xff0c;通过不同的进程&#xff0c;以编程的方式实现网络通信&#xff08;或称为网络数据传输&#xff09;。二.为什么要实现网络编程我们通过网络编程可以在网络中获取资源&#xff0c;实质是通过网络&#xff0c;获…

滑动相关的原理以及用滤波器实现滑动相关(匹配滤波器捕获DMF)

目录滑动相关匹配滤波器捕获&#xff08;DMF&#xff09;滑动相关 滑动相关属于一种时域捕获方法&#xff0c;其具体原理是是通过本地序列与接收信号在固定窗长内滑动累加得到相关结果。 一般滑动相关算法可以用于对自相关性非常好的伪码进行同步判决。 我们首先生成一组自相关…

【大数据】第三章:详解HDFS(送尚硅谷笔记和源码)

什么是HDFS HDFS是&#xff08;Hadoop Distributed File System&#xff09;的缩写&#xff0c;也即Hadoop分布式文件系统。它通过目录树定位在分布式场景下 在不同服务器主机上的文件。它适用于一次写入&#xff0c;多次读出的场景。 HDFS的优缺点 优点 1&#xff0c;高容…

leaflet 添加zoomslider,控制zoom放大缩小(074)

第074个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中使用zoomslider,相比于普通的zoom控件,这个更加形象,更加具体些。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共65行)相关API参考:专栏目…