github.com/jandre/docker@v1.7.0/docs/terms/filesystem.md (about) 1 <!--[metadata]> 2 +++ 3 draft = true 4 title = "File system" 5 description = "How Linux organizes its persistent storage" 6 keywords = ["containers, files, linux"] 7 [menu.main] 8 parent = "mn_reference" 9 +++ 10 <![end-metadata]--> 11 12 # File system 13 14 ## Introduction 15 16 ![](/terms/images/docker-filesystems-generic.png) 17 18 In order for a Linux system to run, it typically needs two [file 19 systems](http://en.wikipedia.org/wiki/Filesystem): 20 21 1. boot file system (bootfs) 22 2. root file system (rootfs) 23 24 The **boot file system** contains the bootloader and the kernel. The 25 user never makes any changes to the boot file system. In fact, soon 26 after the boot process is complete, the entire kernel is in memory, and 27 the boot file system is unmounted to free up the RAM associated with the 28 initrd disk image. 29 30 The **root file system** includes the typical directory structure we 31 associate with Unix-like operating systems: 32 `/dev, /proc, /bin, /etc, /lib, /usr,` and `/tmp` plus all the configuration 33 files, binaries and libraries required to run user applications (like bash, 34 ls, and so forth). 35 36 While there can be important kernel differences between different Linux 37 distributions, the contents and organization of the root file system are 38 usually what make your software packages dependent on one distribution 39 versus another. Docker can help solve this problem by running multiple 40 distributions at the same time. 41 42 ![](/terms/images/docker-filesystems-multiroot.png)