找到给定图像的 Dockerfile

2024-01-07

我正在一台 Linux 机器上工作。我大约 3-4 周前构建了一个 Docker 镜像,但我不记得 Dockerfile 位于哪里。

查找 Dockerfile 的最佳方式是什么?是否有可能以某种方式在给定图像的情况下获取其位置?

我尝试使用:

$ docker image inspect <image>

但它不显示此信息。


Docker 镜像不会在 Dockerfile 上存储任何信息,但您可以尝试对其进行逆向工程。对此有几种方法:

  1. Use docker history <image-name> --no-trunc,它将显示每一层的信息:
> docker history golang:1.14.2-alpine3.11  --no-trunc --format="{{.CreatedBy}}"
/bin/sh -c #(nop) WORKDIR /go
/bin/sh -c mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
/bin/sh -c #(nop)  ENV PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/bin/sh -c #(nop)  ENV GOPATH=/go
...

  1. https://github.com/CenturyLinkLabs/dockerfile-from-image https://github.com/CenturyLinkLabs/dockerfile-from-image-- 从 docker 镜像逆向工程 Dockerfile 的项目。你可以这样运行它:
docker run -v /var/run/docker.sock:/var/run/docker.sock \
  centurylink/dockerfile-from-image <IMAGE_TAG_OR_ID>
  1. dive https://github.com/wagoodman/dive实际上是用于调试/优化 docker 映像的工具,但在这种情况下可能会有所帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找到给定图像的 Dockerfile 的相关文章

随机推荐

  • 当在 gnu 屏幕中使用 vim 或 less 时,退出 vim 或 less 会留下挥之不去的印记

    在我的新 Ubuntu 系统上 我启动一个屏幕会话并在 vim 中编辑文件或在 less 中查看它 退出后 屏幕不会自行重绘 而只是向上滚动以在我刚刚在 vim 或更少中查看的所有内容下显示命令行 我怎样才能改变这个 以便退出 vim 会让
  • jQuery:如何在两个闭合的 html 标签之间选择文本

    我正在尝试使用 jQuery 将介绍 帮助文本包装在 html 文档中 它不在任何标签内 而是在两个闭合的 html 标签之间 例如 请参阅随附的代码片段 第二个结束标签也可以是除 p var txtHelp jQuery b page t
  • Django 缓存错误..即使禁用缓存

    我有一个 Django 网站 其中出现了一个奇怪的错误 在网站上 他们可以添加 出版物 这基本上与不同名称的博客文章相同 当他们修改现有帖子时 事情会变得很奇怪 他们首先在管理员中修改它 当他们访问网站时 更改不可见 就像旧版本被缓存一样
  • 是否可以隐藏系统栏

    我创建了一个启动器 以便在内部应用程序中使用它 出于某些安全原因 我想隐藏系统栏 对参数的访问和对已安装应用程序的访问的排序 但我不知道该怎么做 将使用的平板电脑未root 你能帮我吗 您无法隐藏它 但可以禁用它 但主页除外 为此 您可以将
  • R 中的网页抓取,“...当前工作目录中不存在”错误

    我正在尝试使用 XML2 包从 ESPN com 中抓取一些表格 举例来说 我想将第 7 周的梦幻四分卫排名抓取到 R 中 其 URL 为 http www espn com fantasy football story page 16ra
  • 如果我推送到已删除的分支会发生什么?

    我有一个 git 分支 被gitlab合并删除了 现在 发现了一个错误 我想继续在这个分支上工作 我重命名了它 但它仍然跟踪已删除的分支 它不知道 gitlab 删除了该分支 现在我很好奇 在这种情况下我该怎么办 如果我按原样推进会发生什么
  • 在Java中编码base64并在C#中解码

    我必须将文件发送到我的 Web 服务 但 Web 服务假定该文件 字节数组 为 base64Binary 在编码之前 byteArrayFile 作为常规文件保存在磁盘上 我这样做只是为了测试 因此 在我的 Web 服务 Java 客户端中
  • Bootstrap 中每行超过 12 列

    我将在 bootstrap 3 2 0 中查看每行 12 列 并根据 bootstrap 和这个帖子 https stackoverflow com questions 23535499 bootstrap what will happen
  • 在 HTML 页面“到达”底部之前滚动它

    我有这个聊天话题 它当前所做的是 当它到达页面底部时 它会向上滚动 以便它始终位于页面底部 问题是 正如您在图像中看到的 它在到达页面底部之前隐藏在表单后面 因此 我需要重新定义页面底部的内容 我努力了 function scroll wi
  • scoped_session 中跨进程边界

    我正在使用 SQLAlchemy 和多处理 我还使用scoped session 因为它避免共享同一个会话 但我发现了一个错误及其解决方案 但我不明白为什么会发生这种情况 你可以在下面看到我的代码 db py engine create e
  • 使用 jira-python 进行基本身份验证

    我是 Python 新手 jira python 库新手 网络编程新手 尽管我在应用程序和集成编程以及数据库查询方面确实有相当多的经验 尽管已经有一段时间了 使用Python 2 7和请求1 0 3 我正在尝试使用这个库 http jira
  • 如何动态设置文本到TextView?

    我想在活动开始时显示连接的 ssid 和 IP 地址 它包含一个图像视图 用于标题 因为我没有使用操作栏 和 4 个文本视图 ssid 标签 ssid 值 ipaddr 标签和 ipaddr 值 我已经测试了获取 ssid 和 ipaddr
  • 为什么这个 Django 测试能够通过?

    单独调用send mail函数会因为主题中的换行符而导致BadHeaderError异常 我预计这个 test newline causes exception 也会失败 但事实并非如此 这是 Django 1 3 中的内容 有任何想法吗
  • 在 Typescript 的模块内使用 get/set 创建变量

    我想在模块内创建一个具有获取 设置属性的变量 我看到了一些在类中创建 get set 属性的工作示例 如下所示 class MyClass private view get View return this view set View va
  • 使用 jQuery 1.5 以 jsonp 形式发送请求,将响应解释为文本

    简短的问题 有没有办法向服务器发出 jsonp 请求 捕获请求 但不将其解析为 javascript 我在 jQuery 1 5 中使用 dataType jsonp text 但它不起作用 我正在尝试使用 jsonp 通过 AJAX 访问
  • 根据登录用户在运行时更改数据库架构

    我已经阅读了许多有关动态数据源路由的问题和答案 并使用以下方法实现了一个解决方案AbstractRoutingDataSource和另一个 见下文 这很好 但需要所有数据源的硬编码属性 随着使用该应用程序的用户数量的增加 这不再是合适的路由
  • 如何使用 VS2015 Preview 运行 xUnit 单元测试?

    我通过扩展管理器添加了 xUnit net runner for Visual Studio v0 99 8 但是当我打开 测试资源管理器 窗口时 它似乎没有拾取任何单元测试 此外 Resharper 9 EAP 是唯一支持 VS2015
  • R中将线性方程转换为矩阵形式的函数?

    我想知道 R 是否存在任何包或其他预构建的解决方案 能够将线性方程组转换为矩阵形式 例如 通过高斯赛德尔算法 https en wikipedia org wiki Gauss E2 80 93Seidel method 类似于equati
  • 如何将@mixin从一个sass文件包含到不同文件夹中的另一个sass文件

    我将一个 SASS 文件中的 mixin 包含到另一个文件中 但 ionic 出现错误serve命令 Error Sass Error Invalid CSS after include expected identifier was th
  • 找到给定图像的 Dockerfile

    我正在一台 Linux 机器上工作 我大约 3 4 周前构建了一个 Docker 镜像 但我不记得 Dockerfile 位于哪里 查找 Dockerfile 的最佳方式是什么 是否有可能以某种方式在给定图像的情况下获取其位置 我尝试使用