Dockerfile简介

Dockerfile简介

2020-03-08
opensource
docker

Linux文件系统

alt

典型的Linux文件系统由bootfs和rootfs两部分组成:

  • bootfs(boot file system),只读层,主要包含bootloader和kernel,bootloader主要是引导加载kernel,当kernel被加载到内存中后bootfs就被umount了。
  • rootfs(root file system),读写层,包含的就是典型的/dev,/proc,/bin,/etc等标准目录和文件。

容器文件系统

alt

  • 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

alt

通过dockerfile定义的说明,可以生成对应的容器镜像

Dockerfile 分为四部分:基础镜像信息(FROM)、维护者信息、镜像操作指令(RUN)和容器启动时执行指令(CMD)。

参考: