Docker Engine Architecture: A Beginner’s Shallow Dive

Learn just the scratch of docker engine

Khushiyant
3 min readApr 8, 2023

Hello there, fellow tech enthusiasts! Today, we’re going to talk about Docker Engine Architecture. Now, I know what you’re thinking — “Ugh, this is going to be boring!” But fear not, my dear friends! We’re going to make it as funny as possible with some witty code examples.

So, let’s get started!

First things first, let’s talk about what Docker is. Docker is a platform that allows developers to build, ship, and run applications in containers. These containers are lightweight, portable, and self-sufficient, which means they can run on any platform without any dependencies.

Now, let’s dive into the Docker Engine Architecture. The Docker Engine is made up of several components, including:

Think of the Docker Daemon as the brain of the operation. It’s the component that manages the containers and their interactions with the host operating system. The Docker CLI, on the other hand, is the interface between the user and the Docker Daemon. It allows you to interact with the Docker Engine using commands.

Now, let’s take a look at some code examples to make things more interesting.

Let’s start with the Dockerfile. The Dockerfile is a file that contains instructions on how to build a Docker image. Here’s an example of a Dockerfile that installs Node.js and runs a simple “Hello World” script:

FROM node:latest
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]Now, let’s move on to the Docker CLI. Here are some examples of Docker CLI commands:
  • docker run hello-world: This command runs the "hello-world" image as a container.
  • docker build -t my-image .: This command builds a Docker image with the tag "my-image" from the current directory.
  • docker ps: This command lists all running containers.
  • docker stop container-id: This command stops the container with the specified ID.

Finally, let’s talk about the Docker Registry. The Docker Registry is a service that stores Docker images. There are two types of registries — public and private. Public registries are available to everyone, while private registries are only accessible to authorized users.

To push an image to a registry, you can use the docker push command. Here's an example:

docker push my-registry/my-image:tag

And that’s it! We’ve covered the basics of Docker Engine Architecture in a funny and witty way with some code examples. I hope you found this blog post entertaining and informative. Happy coding!

Liked the author? Connect with Khushiyant

Let’s be friends! You can find me on Twitter, and LinkedIn. Interested in having me speak at your event? Comment Below

Originally published at https://kodein.hashnode.dev.

--

--

Khushiyant
Khushiyant

Written by Khushiyant

Data Scientist @Turing| Research Assistant, NTNU, Norway | Remote Developer | Building @Keribium | OpenSource Developer @zulip @unifyai | SIH’22 Winner