## 什么是image
1. 文件和meta data的集合(root filesystem)
2. 分层的,并且每一层都可以添加改变删除文件,成为一个新的image
3. 不同的image可以共享相同的layer
4. image本身是read-only的
![](https://img.kancloud.cn/35/6d/356d2cfc4238df20dcf99379f7151de2_1000x421.png)
## 自定义image
编写c程序
```
#include<stdio.h>
int main ()
{
printf("hello world\n");
}
```
编译:
```
gcc -static hello.c -o hello //-static进行静态编译,不然会run的时候会报错
```
编写Dockerfile:
```
FROM scratch
ADD hello /
CMD ["/hello"]
```
build镜像
```
docker build -t lzj/hello .
```