Docker底层镜像之选择困难症

Scratch

scratch是一个空镜像,只能用于构建其他镜像,比如你要运行一个包含所有依赖的二进制文件,如Golang程序,可以直接使用scratch作为基础镜像

Busybox

scratch是个空镜像,如果希望镜像里可以包含一些常用的Linux工具,busybox镜像是个不错选择,镜像本身只有763KB,非常便于构建小镜像

BusyBox是一个集成了一百多个最常用Linux命令和工具(如catechogrepmounttelnet等)的精简工具箱,它只需要几百KB的大小,很方便进行各种快速验证,被誉为Linux 系统的瑞士军刀

BusyBox可运行于多款POSIX环境的操作系统中,如Linux(包括Android)、HurdFreeBSD

Alpine

Alpine采用了 musl libcbusybox以减小系统的体积和运行时资源消耗,但功能上比busybox又完善的多,Alpine还提供了自己的包管理工具apk,可以通过packages网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件

Alpine Docker镜像也继承了Alpine Linux发行版的这些优势。相比于其他Docker镜像,它的容量非常小,仅仅只有5 MB左右(对比Ubuntu系列镜像接近200MB),且拥有非常友好的包管理机制

我就想试试,没别的意思!