今天笔者pull个ubuntu系统镜像来测试,拉下去查看镜像才72.9MB!惊叹Docker镜像可以做到这么精简。不过,孤陋寡闻了,又发现两个小而美的Docker镜像-busybox和alpine。
BusyBox 是大工具箱,压缩集成了很多Linux命令和工具的软件。笔者ubuntu虚拟机上就有这个工具,/usr/bin/busybox,才2.1M,使用时直接在busybox后面跟随命令即可。
笔者pull一个BusyBox镜像,发现镜像才1.23MB,甚至都没有bash。但是BusyBox没有包管理工具,也有加了包管理工具opkg的progrium/busybox镜像,但是镜像就稍大了。
第二个小而美的Docker镜像就是alpine,镜像有5.61MB,相比BusyBox镜像,有更广泛的软件包。alpine是轻型 Linux 发行版,提供了包管理工具 apk。笔者使用alpine+mysql-client来建立一个mysql客户端镜像。
Dockerfile:
FROM alpine:3.7
RUN apk add --no-cache mysql-client
ENTRYPOINT ["mysql"]
进入Dockerfile目录并创建镜像: docker build -t mysql-client:v1 .
创建后的镜像有36.8MB,如果基础镜像选择72.9MB的Ubuntu的话,那么创建的镜像就要到100多M。
网友评论