#layer #docker-image #extract #folder #cli-tool #overlay #local

app dext

一个命令行工具,用于提取和解包 Docker 镜像的层

3 个版本

0.1.3 2022年11月2日
0.1.1 2022年11月1日
0.1.0 2022年11月1日

#36 in #overlay

GPL-3.0 许可证

25KB
183 代码行

dext

一个命令行工具,用于提取本地 docker 镜像的层,并将它们的内 容覆盖到指定的文件夹中。

Extracts a docker image's layers to a specified location.

USAGE:
    dext [FLAGS] [OPTIONS] <image-name> <out-path>

FLAGS:
    -h, --help          Prints help information
    -e, --entrypoint    Write entrypoint?

OPTIONS:
    -f, --entry-file <entrypoint>    Entrypoint file name, relative to out_path [default: entrypoint.sh]
    -v, --version <image-version>    Docker image version [default: latest]

ARGS:
    <image-name>    Docker image name
    <out-path>      Output folder

安装

$ cargo install dext

用法

rust 镜像的内容写入

$ docker pull rust

...

$ mkdir rust_image
$ dext rust rust_image

写入镜像的内容(image),包括调用它的脚本

$ mkdir my_image
$ dext -e image my_image

这将创建一个名为 my_image/entrypoint.sh 的文件,当以 root(例如在虚拟机或 chroot 环境中)调用时,将调用镜像的入口点。

日志记录

可以使用 RUST_LOG 环境变量启用调试日志。

$ RUST_LOG=dext=debug dext ...

依赖项

~16–30MB
~477K SLoC