本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

!GitHub Repo Size !GitHub Code Size in Bytes !GitHub Last Commit !GitHub Commit Activity
dfimage是一个从Docker镜像逆向工程生成Dockerfile的工具。它通过分析Docker存储的镜像层元数据,重建(近似)用于生成该镜像的Dockerfile指令,类似于docker history命令但更完整。灵感来源于dockerfile-from-image和Container Source项目。
docker images可见的镜像)docker run命令执行FROM指令docker run和Docker socket访问)docker pull获取)/var/run/docker.sock)以允许访问Docker APIdocker run -v /var/run/docker.sock:/var/run/docker.sock dfimage <镜像名:标签>
<镜像名:标签>:必需,指定目标镜像的名称和标签(如ruby:latest),支持完整镜像名或简写形式-v /var/run/docker.sock:/var/run/docker.sock:必需,挂载Docker socket以访问Docker API拉取目标镜像(如官方ruby镜像):
docker pull ruby:latest # 输出示例: # latest: Pulling from library/ruby # ... # Status: Downloaded newer image for ruby:latest
拉取dfimage镜像:
docker pull ghcr.io/laniksj/dfimage # 输出示例: # Using default tag: latest # latest: Pulling from dfimage # ... # Status: Downloaded newer image for ghcr.io/laniksj/dfimage:latest
创建便捷别名(可选,简化后续命令):
alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm ghcr.io/laniksj/dfimage"
生成Dockerfile:
dfimage ruby:latest # 输出示例(生成的Dockerfile内容): # FROM buildpack-deps:latest # RUN useradd -g users user # RUN apt-get update && apt-get install -y bison procps # RUN apt-get update && apt-get install -y ruby # ADD dir:03090a5fdc5feb8b4f1d6a69214c37b5f6d653f5185cddb6bf7fd71e6ded561c in /usr/src/ruby # WORKDIR /usr/src/ruby # RUN chown -R user:users . # USER user # RUN autoconf && ./configure --disable-install-doc # RUN make -j"$(nproc)" # RUN make check # USER root # RUN apt-get purge -y ruby # RUN make install # RUN echo 'gem: --no-rdoc --no-ri' >> /.gemrc # RUN gem install bundler # ONBUILD ADD . /usr/src/app # ONBUILD WORKDIR /usr/src/app # ONBUILD RUN [ ! -e Gemfile ] || bundle install --system
将别名添加到shell配置文件(如~/.bashrc或~/.zshrc):
echo 'alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm ghcr.io/laniksj/dfimage"' >> ~/.bashrc source ~/.bashrc
Docker镜像由一系列层组成,每层对应Dockerfile中的一条指令。dfimage通过以下步骤重建Dockerfile:
RUN、USER、WORKDIR等)FROM指令的基础镜像通过docker inspect <层ID>可查看层对应的指令,例如:
docker inspect 011aa33ba92b # 输出片段: # { # ... # "ContainerConfig": { # "Cmd": [ # "/bin/sh", # "-c", # "#(nop) ONBUILD RUN [ ! -e Gemfile ] || bundle install --system" # ], # ... # } # }
FROM指令,可能导致基础镜像之后的层指令未被完全还原ADD dir:03090a5fdc5feb8b4f1d6a69214c37b5f6d653f5185cddb6bf7fd71e6ded561c in /usr/src/ruby
docker pull获取远程镜像可通过以下命令从容器中提取文件(非dfimage核心功能,为附加实用技巧):
docker run --rm --entrypoint cat <镜像名> /path/to/file > 本地文件名
![MIT License]([***]
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429