2019-10-02 14:03:48 +00:00
# # Docker Image
2014-09-15 09:08:06 +00:00
2020-10-23 02:20:46 +00:00
As we all know , Operating System consists of kernel space and user space . For linux , it will mount ` root ` filesystem to support user space . For Docker Image , it is similar to a ` root ` filesystem in Linux . For example , the offical image ` ubuntu:18:04 ` contains a micro ` root ` filesystem of complete opreating system .
2014-10-21 05:59:03 +00:00
2020-10-23 02:20:46 +00:00
Docker Image is a special filesystem . Apart from programs , libs , resources and config which support running container , Docker Image also includes config parameters like anonymous volumes , environment variables , users and others . Images don ' t have any dynamic data . Its content will not be changed after build .
2014-10-21 05:59:03 +00:00
2019-10-02 14:03:48 +00:00
# # Advanced Multi - layered Unification Filesystem ( AUFS )
2016-11-07 20:10:11 +00:00
2020-10-23 02:20:46 +00:00
Because the image contains the complete ` root ` file system of the operating system , its volume is often huge . So Docker made full use of [ Union FS ] ( https : //en.wikipedia.org/wiki/Union_mount) and was designed as AUFS when it was designed. So strictly speaking, image is not a packaged file like an ISO iamge file. Image is just a virtual concept. It is not composed of a single file, but a group of file systems, or a combination of multi-layered filesystems.
2016-11-07 20:10:11 +00:00
2020-10-23 02:20:46 +00:00
When building an image , it builds layer by layer , and the former is the basis for the latter . Once each layer is built , it will not change later . Any change on the latter layer will only occur on its own level . For example , deleting the previous layer of files is not really deleting the files , but only marked as deleted in the current layer . When the final container runs , you won ' t see the file , but in fact the file will always follow the image . Therefore , take more care when building the image , and any redundant file should be cleared up in ahead of the layer ' s final construction .
2016-11-07 20:10:11 +00:00
2020-10-23 02:20:46 +00:00
The layered storage feature also makes it easier to reuse and customize images . You can even use a previously built image as the base layer , and then add a new layer to customize the content to meet your need to build a new image .
2016-11-07 20:10:11 +00:00
2019-10-02 14:03:48 +00:00
As for image building , further explanations will be given in subsequent relevant chapters .