1. About Docker

1.1. What is docker?

../../_images/docker-vs-lxc.png
../../_images/docker-arch.png
../../_images/docker-stack-01-baremetal.png
../../_images/docker-stack-02-virtualization-1.png
../../_images/docker-stack-02-virtualization-2.png
../../_images/docker-stack-02-virtualization-3.png
../../_images/docker-stack-02-virtualization-4.png
../../_images/docker-stack-03-docker.png
../../_images/docker-stack-05-kubernetes.png
../../_images/docker-stack-06-architecture.png

1.2. Architecture

Guest

Container running on Docker Engine

Host

Server running Docker Engine, see also Docker 0

Docker 0

Server running Docker Engine

1.3. Docker image vs container

Image

Ready to run Operating System with pre-installed software

Container

Running instance of an image

1.4. Layers

Layer

Diff between outputs of Dockerfile RUN command while building an image

../../_images/docker-layer-images.png

Figure 1.4. Layers

../../_images/docker-layers.png

Figure 1.5. Layers

../../_images/docker-container-layers.jpg

Figure 1.6. Container Layers

../../_images/docker-container-layers.png

Figure 1.7. Container Layers

1.5. Open Container Initiative

The Open Container Initiative is an open governance structure for the express purpose of creating open industry standards around container formats and runtimes.

Established in June 2015 by Docker and other leaders in the container industry, the OCI currently contains two specifications: the Runtime Specification (runtime-spec) and the Image Specification (image-spec). The Runtime Specification outlines how to run a “filesystem bundle” that is unpacked on disk. At a high-level an OCI implementation would download an OCI Image then unpack that image into an OCI Runtime filesystem bundle. At this point the OCI Runtime Bundle would be run by an OCI Runtime.