如何从 Docker 镜像里提取 dockerfile!

11a06c313603311122034f7f3526c960.gif

作者 | A-刘晨阳

来源 | CSDN博客

今天给大家分享一下 dockerfile 里面是如何写的,然后去查了查就有了新的发现——通过镜像来提取 dockerfile。

从镜像中提取dockerfile的两种方法。

11a1ce7478f54a42e7f7c846a1a5b690.png

history参数

我们可以直接用docker自带的参数来查看镜像的dockerfile,但有一点就是看的不完全,只能看到前面的一小部分;

例如:

#docker history 镜像名称:标签
docker history nginx:latest

c74f1720c8926ef5b41fa20863836803.png

虽然docker history命令可以看到所有历史层级的操作,但是还是需要手动去写Dockerfile,看的不是那么全,所以我们还有一个能看到非常详细的工具👇↓👇

c11d8606222e513ad5a974b40e4983c7.png

dfimage

首先他不是一个命令,他是一个工具。

dfimage是一个alpine的镜像,启动的时候,通过将docker.sock映射到容器内部来运行,通常将这个操作做成别名,让他变成一个工具(做完别名不能换新的bash,否则该别名就会消失,如果不想消失,可以做一个永久的别名,这样不管在任何地方都可以用了)

alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"  dfimage -sV=1.36 nginx:latest

我们拿nginx镜像试验下:

05d35493e137c04f57569b3dd5c84e75.png

先pull一个nginx镜像,我这里之前有,就直接用了,接着通过上面提到的命令,别名一个dfimage命令:

4e659a9ba987c72920f864f9389882fc.png

做好别名之后,通过dfimage去生成nginx的Dockerfile,其实就是启动一个容器工具,执行完之后即删除该容器,镜像保留:

14e58e64a13aa9b951bba2906c75b66e.png

49009151e990643509b0ad73790ad3d4.png

如果有报错,不能执行,估计就是缺少-sV=1.36,具体这个报错呢,暂时还没有研究,但是加上-sV=1.36就可以。

#dfimage -sV=1.36 镜像名称:标签
dfimage -sV=1.36 nginx:latest

a298fb308f81e21d582b92f73a60cfc3.png

即可看到完整的dockerfile,这个工具查看的非常的详细。

4593dfe4bbe78a7ba31f7f7b68bab686.gif

往期推荐

40 张图 详解 Docker 容器监控

剖析 kubernetes 集群内部 DNS 解析原理

Docker 镜像和容器的导入导出及常用命令

实战 Kubectl 创建 Deployment 部署应用

5f9d811d0310cf87637ddeaa47d5c6d9.gif

点分享

50184fa76fa6c79ac783a0c90e44af17.gif

点收藏

cbc438893b922dc2585b44a8d18e1c18.gif

点点赞

466ffcc140e61fa8c520d4d2539d6b31.gif

点在看

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

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

相关文章

新品发布|备案变更不用再担心中断服务啦

简介:ICP备案迁移服务,就是面向有计划变更域名备案主体,或者在不同主体间迁移网站备案信息的客户,实现迁移过程中域名或者网站服务不中断的备案增值服务。 说起ICP备案,做过互联网经营业务的朋友都很熟悉,…

一眼定位问题,函数计算发布日志关键词秒检索功能

简介:当 FaaS 应用出现很多报错,且调用日志页面的请求过多时,如何才能简单、快速地查到出现 bug 的原因? 听说这个问题你也遇到了? 小王是一名程序员,最近在使用 FaaS &#xff08…

如何在 Linux 中使用 rsync 传输文件

作者 | 刘光录来源 | TIAPrsync(远程同步,Remote Sync)是一种在系统中或两个系统之间复制文件和目录的同步工具。rsync 的一个最大的优点,就是它只复制更改的文件,因而可以减少 CPU 消耗,在复制文件时节省带…

国民级消消乐背后的网络技术支持:不畏巨“峰”,“运”筹帷幄

简介:近日,阿里云网络携手乐元素共同部署建设了基于7层业务自动化调度的弹性网络架构,进一步提升乐元素在用户服务上的娱乐体验。提到乐元素相信大家都不陌生,作为从事移动网络游戏的研发、运营及广告平台,其代表作就是…

透析阿里云视频云「低代码音视频工厂」之能量引擎——vPaaS视频原生应用开发平台

简介:支撑15分钟上线高品质专属音视频平台 为满足企业用户极速搭建高品质专属音视频业务的需求,阿里云视频云的“低代码音视频工厂”应运而生,但极速而高品质的平台搭建诉求,需要用全新的开发方式才能真正实现,而全新…

自动驾驶“稳打地基”,小鹏汽车基于阿里云建自动驾驶AI智算中心算力可达600PFLOPS

数据驱动是自动驾驶发展的公认方向,也让自动驾驶模型训练成为一头“吃算力”的巨兽。自动驾驶的视觉检测、轨迹预测与行车规划等算法模型,有赖于机器学习海量数据集,但算力的不足让研发速度仍远远赶不上数据量增长的速度。随着传感器的进一步…

阿里云视频云「 vPaaS 」演绎了怎样的音视频应用开发「未来图景」

简介:前瞻音视频平台的演进未来 vPaaS是阿里云视频云最新推出的低代码音视频应用开发产品,其中,vPaaS低代码音视频工厂,彻底打破了音视频应用的繁冗技术开发壁垒;vPaaS视频原生应用开发平台,全新定义了音视…

鲲鹏开发者创享日2022:鲲鹏全栈创新 与开发者共建数字湖南

由华为推出的面向鲲鹏计算产业全栈开发者的系列活动——鲲鹏开发者创享日2022于8月5日在长沙成功举办。这场被称为开发者“技术嘉年华”的峰会,汇聚了国内顶尖技术大咖、科研带头人、知名企业技术专家及高校开发者,描绘了计算产业发展趋势和蓝图&#xf…

MySQL 深潜 - MDL 锁的实现与获取机制

简介:本文将介绍在 MDL 系统中常用的数据结构及含义,然后从实现角度讨论 MDL 的获取机制与死锁检测,最后分享在实践中如何监控 MDL 状态。 作者 | 泊歌 来源 | 阿里技术公众号 一 背景 为了满足数据库在并发请求下的事务隔离性和一致性要求…

深度解说阿里云 Serverless Kubernetes

简介:听阿里云技术专家聊聊 Serverless Kubernetes 一路走来的发展史,看看它是如何做到兼容 Kubernetes 使用方式的同时,拥有免运维和极致弹性等特点~ 作者 | 陈晓宇(阿里云技术专家) 策划 | 褚杏娟 伴随着云原生的…

理清 HTTP 之下的 TCP 流程,让你的 HTTP 水平更上一层

作者 | 神说要有光来源 | 神光的编程秘籍大家都知道 HTTP 的底层是 TCP,但是可能仅限于知道,并不是真正理解它们的关系。平时我们用 chrome devtools 的 Network 工具也只是能分析 HTTP 请求:TCP 层的东西看不见摸不着的,所以对它…

基于 EventBridge 构建 SaaS 应用集成方案

简介:事件源是事件驱动的基石,如何获取更多事件源也是 EventBridge 一直在探索和尝试的方向。针对市场上其他云厂商和垂直领域的 Saas 服务,EventBridge 发布了 HTTP Source 能力,提供简单且易于集成的三方事件推送 ,帮…

无缝融入 Kubernetes 生态 | 云原生网关支持 Ingress 资源

简介:Kubernetes 一贯的作风是通过定义标准来解决同一类问题,在解决集群对外流量管理的问题也不例外。Kubernetes 对集群入口点进行了进一步的统一抽象,提出了 3 种解决方案:NodePort、LoadBalancer 和 Ingress。 作者&#xff1…

阿里云 AI 编辑部获 CCBN 创新奖,传媒行业解决方案背后的黑科技

简介:视频云驱动智媒创新 5 月 27 日,CCBN(第二十八届中国国际广播电视信息网络展览会)在北京隆重召开,在本次的 “CCBN 年度创新奖” 评选中,阿里云视频云凭借 AI 编辑部的传媒行业专业解决方案获得 CCBN …

云原生正在吞噬一切,开发者该如何应对?

十年前,Netscape创始人、硅谷著名投资人马克安德森(Marc Andreessen)预言“软件正在吞噬世界”;数年后,软件里90%以上的代码都是开源代码,“开源正在吞噬软件”;如今,“云原生吞噬开…

阿里云视频云 Retina 多媒体 AI 体验馆开张啦

简介:带你体验视频更多可能 带你体验视频更多可能 海量视频管理难度大?翻库检索特定人物费时费力?视频内容剪辑效率低?您的得力助手“Retina多媒体AI”体验馆已上线。带你感受视频AI黑科技,开启极致智能体验。 1、智…

一篇文章了解 Docker 的安装、启动以及工作原理!

作者 | 是泡泡来源 | CSDN博客Docker 浅谈1.1 Docker 为什么出现我们知道,传统的项目开发和运维是两套环境,而且要一一配置环境并且有的时候更新还会导致服务不可用,这就很麻烦了,那么有没有一种很方便不用这么麻烦的技术可以一键…

技术解读:英特尔 x86 平台上,AI 能力是如何进行演进的?(附PPT)

简介:AI 生态系统是怎样的?其中又有哪些关键技术? AI 计算力的指数增长意味着,为了解决越来越复杂的用例,即使是 1000 倍的计算性能增长也很容易被消耗。因此,需要通过软件生态系统的助力,才能…

Apsara Stack 技术百科 | 浅谈阿里云混合云新一代运维平台演进与实践

简介:随着企业业务规模扩大和复杂化及云计算、大数据等技术的不断发展,大量传统企业希望用上云来加速其数字化转型,以获得虚拟化、软件化、服务化、平台化的红利。在这个过程中,因为软件资产规模持续增大而导致的软件开发运维和IT…

Java应用结构规范

简介:在Java程序开发中,命名和应用分层无疑是广大后端同胞的两大“痛点”,本文提供一种基于领域模型的轻量级应用分层结构设计,供大家参考。下面按分层结构、分层明细、调用关系、各层规范和通用代码工具展开介绍。 作者 | 阿卓 来…