2019-10-02 14:03:48 +00:00
# # Docker Image
2014-09-15 09:08:06 +00:00
2019-10-02 14:03:48 +00:00
As we all know , Operating System constitutes kernel and user space . For linux , it will mount ` root ` file system to support user space . For Docker Image , it almost likes a ` root ` file system . For example , the offical image ` ubuntu:18:04 ` contains a micro ` root ` file system of complete opreating system .
2014-10-21 05:59:03 +00:00
2019-10-02 14:03:48 +00:00
Docker Image is a special file system . Except for programes , libs , resources and config witch 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
2019-10-02 14:03:48 +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. 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-layers file systems.
2016-11-07 20:10:11 +00:00
2019-10-02 14:03:48 +00:00
When build an image , it builds layer by layer , and the former is the base of 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 layter . When the final conatiner 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 additional things should be cleared up before the end of the layer ' s construction .
2016-11-07 20:10:11 +00:00
2019-10-02 14:03:48 +00:00
Layered storage features also make it easier to reuse and customize image . You can even use the previously built image as the base layer , and then add a new layer to customize the content you 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 .