一、docker文件系统:
linuxFS包括boot file system 和 root file system
boot file system (bootfs),包含bootloader和kernel,在系统启动完成后,kernel滞留内存,bootfs解除挂载;
root file system(rootfs),包括类似/bin,/usr, /lib等目录,这些和kernel无关,这也是不同linux发行版本的差异所在;

Linux FS Linux FS in Docker
- 传统Linux启动时,将rootfs设置为readonly并检查完整性,然后设置成read-write
- Docker在启动container的时候,也是把rootfs设置为readonly,然后通过aufs把一个read-write的文件系统挂载到rootfs之上,并且把下层文件系统设置成readonly,这样构建一个完整的操作系统;
二、Layer FS

- 对于每层readonly的FS,在docker中成为image
- 对于顶上read-write的FS,成为container
- 对于readonly中内容的修改,采用的是COW的技术,把文件复制到read-write层并修改,实际用户看到的是当前container层中的文件,image中的文件是不受影响的;
Image:
-
- 除了base image之外,每一层image都有一个parent image
- 没有parent image的镜像叫base image
- 基于cow的技术,image部分是不会被修改的,因此container可以共享image的FS,提高了存储效率;
storage dirver
-
- 除了默认的aufs之外,docker通过对于storage的抽象,可以支持一些其他的storage driver; 例如:vfs, devicemapper, btrfs
- 修改docker启动时候的参数设置,增加——storage-driver = {storage plugin}在配置文件中;
docker hub:
docker官方提供的用来共享image的平台;
镜像命名和版本管理:
-
- base image是docker官方提供的基础镜像;
- 普通镜像的命名规范{namespace}/{repository name}:{tag}
- namespace是docker hub的用户名,实际是起namespace作用
- repository,类似于github的项目,例如ubuntu, mysql等;
- tag,表示版本信息,例如cp/mysql:5.5, tag是可选的,默认值是latest
docker基础入门之二
原文:http://www.cnblogs.com/chris-cp/p/4830780.html