supermin
1.1、supermin简介
是什么 ?:a tool for creating supermin appliances (formerly called febootstrap)
开发语言:C
源码仓库:https://github.com/libguestfs/supermin
1.2、supermin支持的操作系统
1.3、通过包管理器安装supermin
操作系统包管理器安装命令
aptsudo apt-get install -y supermin
CentOSyumsudo yum install -y supermin
dnfsudo dnf install -y supermin
openSUSEzyppersudo zypper install -y supermin

Arch Linux

ArcoLinux

Manjaro Linux

pacmansudo pacman -Syyu --noconfirm
sudo pacman -S    --noconfirm supermin
1.4、supermin命令

supermin命令的使用格式如下:

supermin --help
supermin -V | --version
supermin --list-drivers
supermin --prepare [option]... [packageName]...
supermin --build   [option]... <INPUT>...
1.4.1、--help

查看supermin的使用帮助。

1.4.2、-V | --version

查看supermin的版本号。

1.4.3、-v | --verbose

打印出更详细的操作日志。

1.4.4、--list-drivers

列出支持的操作系统和对应的包管理器

1.4.5、--use-installed

优先使用本地安装的包,以避免去远程仓库下载。

1.4.6、--copy-kernel

kernel复制到-o指定的目录里。

不使用此参数的情况下,默认使用软连接的方式链接到-o指定的目录里。

1.4.7、-o <OUTPUTDIR>

设置输出的文件夹。

1.4.8、--format=chroot | ext2

设置输出的格式。

--format=chroot表示输出之后,我们可以使用chroot切换为根文件系统。

--format=ext2表示输出的是ext2的文件系统,它用来做引导程序。

1.4.9、--prepare

-o指定的目录下生成base.tar.gz

示例:

supermin --prepare -v -o supermin.d bash coreutils iputils tar gzip curl git vim dnf
1.4.10、--build

根据--prepare生成的内容进行构建。

示例:

supermin --build -v --format chroot -o appliance.d supermin.d
1.5、综合示例 —— 制作自己的 Fedora Docker Image

step1、在Fedora本地文件系统中创建Fedora文件系统

supermin --prepare -v -o supermin.d bash coreutils iputils tar gzip curl git vim dnf
supermin --build -v --format chroot -o appliance.d supermin.d

step2、查看appliance.d目录中的内容

step3、使用chrootappliance.d目录作为根目录

step4、在appliance.d子系统里做一些操作

step5、将appliance.d目录中的内容打包成tar包, 以此包作为Docker镜像导入到Docker镜像列表

sudo tar c -C appliance.d . | sudo docker import - fpliu/fedora:30

step6、以fedora:30镜像运行一个容器

docker run --tty --interactive --rm fpliu/fedora:30 /bin/bash