liveBook · Manning

Docker

As explained in Building Distributed Applications that Work

Docker is a platform for building, packaging, and running applications in containers.

Docker packages an application with its dependencies into a container, helping it run consistently across development, test, and production environments. Containers isolate applications while sharing the host operating system’s kernel, unlike virtual machines, which require a full operating system for each instance. section 2.1

This approach supports:

  • Portability across systems with Docker installed, with less resource use and faster startup than virtual machines. section 2.1
  • Isolation using Linux kernel namespaces and cgroups; Linux is common, though Windows containers are also possible. section 2.1
  • Container creation from Docker images, which package application code, libraries, dependencies, and configuration. section 2.1
Figure 2.1 Docker container structure
figure

View the diagram of Docker container structure. section 2.1

How Building Distributed Applications that Work covers it

How deep it goes
Outlines container packaging, isolation, kernel sharing, and image contents as an overview.
Examples
Uses local development, test, and production environments to illustrate portability, and contrasts containers with virtual machines.
What you can do after
Understand how containers package and isolate applications while sharing the host operating system’s kernel.
How it connects
Connects containers to Docker images, virtual machines, Linux kernel namespaces and cgroups, and Podman.

Also explained in

Compare how 26 books explain Docker →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Building Distributed Applications that Work. The section links point to the parts of the book it draws on.