-
Docker Inc makes many tools to build, deploy, and run containers.
-
They invented the modern way to run "containers". (previously jails, chroot, zones, etc.)
--
-
Their original 2013 ideas are now an industry standard called OCI.
-
Those standards are now used by hundreds of tools in the Cloud Native computing.
--
-
The three innovations are:
- Combine your app and all its dependencies in a container image
- Move that image around with registries
- Run that image anywhere in a container
-
I wrote a big article around this with lots of details. Bookmark for later!
-
Docker Inc was quicly formed after Docker the tool/project was created in 2013.
-
Previously, Docker Inc. focused on Dev and Ops tooling (2013-2019).
--
-
In 2019 they sold 2/3rd of company and Enterprise-focused software to Mirantis.
-
Now they are (finally) successful focusing on Dev tooling.
--
-
Docker Subscription includes:
- Docker Desktop for macOS, Windows, Linux desktops
- Docker Hub image storage
- Image security scans
- Automated image builds
--
-
We're only using Docker open source today!
-
Their Hub & Docker Desktop are totally free while learning and for personal use.
-
"Installing Docker" really means "Installing the Docker Engine and CLI".
-
The Docker Engine is a daemon (a service running in the background).
--
-
This daemon manages containers, the same way that a hypervisor manages VMs.
-
We interact with the Docker Engine by using the Docker CLI.
--
-
The Docker CLI and the Docker Engine communicate through an API.
-
There are many other programs and client libraries which use that API.
- This is a common misconception.
--
-
Docker only controls many containers on a single server.
-
Kubernetes (K8s) was invented to control Docker across many servers.
--
- Kubernetes doesn't run containers itself, it only controls a runtime.
--
-
For years, Docker (
dockerd
) was the most popular container runtime. -
Then Docker Inc. created
containerd
as a lightweight runtime for servers.
--
- Today
dockerd
andcontainerd
are most of runtime market. Others include CRI-O and Podman (Red Hat).
--
dockerd
orpodman
= best for humans locally.containerd
orcri-o
= best for K8s.
-
Docker Swarm "mode" is still a thing
-
And might be having a renaissance
-
(I have a course on that too!)