More on this book
Community
Kindle Notes & Highlights
Read between
November 17, 2021 - July 17, 2025
The core Windows kernel technologies required to implement containers are collectively referred to as Windows Containers. The user-space tooling to work with these Windows Containers can be Docker.
It’s vital to understand that a running container shares the kernel of the host machine it is running on.
This means that a containerized Windows app will not run on a Linux-based Docker host, and vice-versa — Windows containers require a Windows host, and Linux containers require a Linux host.
It is possible to run Linux containers on Windows machines. For example, Docker Desktop running on Windows has two modes — “Windows containers” and “Linux containers”. Depending on your version of Docker Desktop, Linux container run either inside a lig...
This highlight has been truncated due to consecutive passage length restrictions.
The WSL option is newer and the strategic option for the future as it doesn’t require a Hyper-V VM and offers bett...
This highlight has been truncated due to consecutive passage length restrictions.
This works by seamlessly running your containers inside of a lightweight Linux VM on your Mac.
That’s just a fancy way of saying Kubernetes is the most popular tool for deploying and managing containerized apps.
Note: A containerized app is an application running as a container.
At the time of writing, Kubernetes uses Docker as its default container runtime — the low-level technology that pulls images and starts and stops containers. However, Kubernetes has a pluggable container runtime interface (CRI) that make...
This highlight has been truncated due to consecutive passage length restrictions.
technologies and solutions that make it easier to get the code on your laptop running in the cloud.
The runtime operates at the lowest level and is responsible for starting and stopping containers
The low-level runtime is called runc and is the reference implementation of Open Containers Initiative (OCI) runtime-spec. Its job is to interface with the underlying OS and start and stop containers. Every running container on a Docker node has a runc instance managing it.
The higher-level runtime is called containerd. containerd does a lot more than runc.
It manages the entire lifecycle of a container, including pulling images, creating network interfaces, and mana...
This highlight has been truncated due to consecutive passage length restrictions.
A typical Docker installation has a single containerd process (docker-containerd) controlling the runc (docker-runc) instances associated with each running container.
The Docker daemon (dockerd) sits above containerd and performs higher-level tasks such as; exposing the Docker remote API, managing images, managing volumes, managing networks, and more…
A major job of the Docker daemon is to provide an easy-to-use standard interface that a...
This highlight has been truncated due to consecutive passage length restrictions.
Docker also has native support for managing clusters of nodes running Docker. These clusters are called swarms and the native technology is called Docker Swarm. Docker Swarm is easy-to-use and many companies are using it in real-world production. However,...
This highlight has been truncated due to consecutive passage length restrictions.
The OCI is a governance council responsible for standardizing the low-level fundamental components of container infrastructure. In particular it focusses on image format and container runtime
And as with all accounts of history, the version you get depends on who’s doing the talking.
While competition is usually a good thing, competing standards is usually not.
They cause confusion and slowdown user adoption.
As of Docker 1.11, the Docker Engine architecture conforms to the OCI runtime spec.
is currently the most popular container runtime used by Kubernetes.
Once the installation is complete, you have a single-engine Docker environment that is great for development purposes.
It includes Docker Compose and you can choose to enable a single-node Kubernetes cluster.
stability first, features second
Docker Desktop on Windows 10 can run native Windows containers as well as Linux containers.
Docker Desktop on Mac can only run Linux containers.
The installer can enable the Hyper-V and Containers features, but it’s your responsibility to enable hardware virtualization in your BIOS
Notice the output is showing OS/Arch: linux/amd64 for the Server component.
This is because a default installation assumes you’ll be working with Linux containers.
It does this by running the Docker daemon inside of a lightw...
This highlight has been truncated due to consecutive passage length restrictions.
V...
This highlight has been truncated due to consecutive passage length restrictions.
Windows containers....
.\dockercli -SwitchDaemon
Be aware that any existing Linux containers will keep running in the background, but you won’t be able to see or manage them until you switch back to Linux containers mode.
You can now run and manage Windows containers (containers running Windows applications).
Docker Desktop for Mac
a packaged product from Docker, Inc with a simple installer that gets you a single-engine installation of Docker that’s ideal for local development needs.
You can also enable a single-node Kuber...
This highlight has been truncated due to consecutive passage length restrictions.
Docker Desktop on Mac doesn’t give
you the Docker Engine running natively on the Mac OS Darwin kernel.
Behind the scenes, the Docker daemon is running inside a lightweight Linux VM that seamlessly exposes the daemon ...
This highlight has been truncated due to consecutive passage length restrictions.
don’t forget that it’s Docker on Linux under the hood — so it’s only going work with Linux-based Docker containers.
Once Docker Desktop is started, the whale will stop being animated.
Server component is showing as linux/amd64.
You can add multiple nodes and even cluster them in a swarm.
Visit https://labs.play-with-docker.com/
even allows you to spin-up a single-node Kubernetes cluster.