Docker Base Image

busybox / debian / alpine 基本区别

busybox

大小:668KB-2MB

busybox是一个软件工具箱,里边集成了linux中几百个常用的linux命令以及工具。

有3个版本:

busybox:glibc: glibc from Debian (which is then included in the image)
busybox:musl: musl from Alpine (statically compiled)
busybox:uclibc: uClibc via Buildroot (statically compiled)

这货非常小,只有几兆而已,最新的才600多K。我暂时用它做一些存储容器的基础镜像。至于还能干什么,还有待了解

Debian

大小:30-50MB

以下版本的 Debian 支持 Docker:

Debian 8.0 Jessie (64-bit)
Debian 7.7 Wheezy (64-bit)

相对来说应该算是一个相对完整的linux操作系统。之前看到很多镜像都是基于debian来做的

Alpine Linux

大小:2M

Alpine Linux是一个围绕musl libc和BusyBox构建的轻量级Linux发行版。

貌似现在是一个主流,很多官方镜像都有基于它的构建版本。

它的亮点在于非常小而且拥有一个package repository,这比busybox镜像来说更便于使用。

注意点

Oracle Java貌似现在只能运行在glibc上,而Alpine是建立在musl libc的基础上,所以现在很多基于的Alpine的镜像都会使用openjdk。一般情况下都没啥问题。

不过有些情况下会出现问题,比如jfinal内置的验证码,如果用openjdk,时会有错误的。