- [Instructor] You may already be familiar
with what the Docker Engine is
and how the typical Docker architecture lays out
but if not, here's a quick review for you
before we jump into the universal control plane.
So, the Docker Engine is the heart of Docker
and when people think of Docker,
they're actually thinking of the Docker Engine.
The Docker Engine is designed
as a client server application
and it's really made up of three different things.
It starts off with dockerd
or the Docker daemon
which is installed when you install Docker
and that's the server, that's the Docker server itself.
Along with the installation of the Docker Engine,
you receive a RESTful API
which is important because that defines
the interface that all other programs use
to talk to the daemon
and there's so many different pieces
that make up the typical Docker ecosystem,
both tools from Docker as well as third-party tools.
And then finally, you have the Docker client.
So, this is the actual Docker command
that you run as a client
to talk to the Docker server,
to pull down images, build images
and instantiate containers.
No matter what version of Docker you're using
whether it's the Community Edition
or the Enterprise Edition
the Docker Engine is the required foundation
that makes it all possible.
Now let's review the typical Docker architecture.
The Docker daemon is installed on the Docker host.
That Docker host could be your desktop
or laptop computer,
it could be a server in the data center
or it could be a virtual machine
running up in the cloud.
From there, the Docker host
is used to execute or instantiate
your containers and images.
It's administered through the Docker client
which could be on the same host
as the Docker daemon
or it could be remote.
That's the beauty of the Docker client server architecture.
Using the Docker client
you can pull down images
from a registry and then execute those images
as containers running on the Docker host.