Dockerfile简介
2020-03-08
Linux文件系统
典型的Linux文件系统由bootfs和rootfs两部分组成:
- bootfs(boot file system),只读层,主要包含bootloader和kernel,bootloader主要是引导加载kernel,当kernel被加载到内存中后bootfs就被umount了。
- rootfs(root file system),读写层,包含的就是典型的/dev,/proc,/bin,/etc等标准目录和文件。
容器文件系统
- Docker在bootfs启动后不会把rootfs的read-only改为read-write,而是利用union mount(UnionFS的一种挂载机制)将一个或多个read-only的rootfs加载到之前的read-only的rootfs层之上。
- 当创建一个容器,也就是将Docker镜像进行实例化,系统会在一层或是多层read-only的rootfs之上分配一层空的read-write的rootfs。
- 对应用来说,看到的文件系统表面上和Linux文件系统没有差异。
Dockerfile
通过dockerfile定义的说明,可以生成对应的容器镜像
Dockerfile 分为四部分:基础镜像信息(FROM)、维护者信息、镜像操作指令(RUN)和容器启动时执行指令(CMD)。
参考: