Skip to content

背景

今天写博客的时候,突然发现了一个很有意思的问题,就是我们平时写dockerfile文件的时候,都会选用一个较为小的linux镜像当做base,比如base Alpine Linux,一个超级mini的发行版。

发现

我们知道我们如果构建镜像层的话,需要写一个from是必填项,那我们这些很基础的linux发行版是基于什么镜像层的呢?

结论

最后我在官网找到了结论

base image:A base image has no parent image specified in its Dockerfile. It is created using a Dockerfile with the "FROM scratch" directive.

然后我又去Docker Hub里查了这个镜像如下

an explicitly empty image, especially for building images "FROM scratch"

就可以愉快的开始使用了

bash
FROM scratch
COPY hello /
CMD ["/hello"]

参考

官方解释