What is Docker ?

김영석
2 min readAug 9, 2020

Let’s figure out what the Docker refers to.

When people talk about the Docker, it mainly refers to “Docker Runtime Engine”.

Then, what’s the Docker Runtime Engine?

In a nutshell, it’s a container runtime environment to run containerized applications, that runs across operating systems.

Docker Engine Anatomy

then, what’s container runtime environment?

it’s nothing but a software that executes containers and manage container images on a node(a machine). and the most widely known container runtime is Docker Runtime.

then, what’s the container and container images?

Simple put, it is a unit of software package that includes application source code and relevant dependent libraries that can run on top of Docker Runtime quickly and reliably regardless of host operating system.

and then the container images come in to play.

That is exactly the actual substances that is comprised of a container’s executable files.

a container image holds files for system libraries, system tools, and application source codes.

And those files are a stack of several image layers as in the picture below.

Image Layers

For the most of cases, the layer 1 is a parent image that provides the most basic building blocks for your containerized environment on which the rest of all other components are built.

Or it could be also a base image which means literally a base where you can decide what to use from scratch.

and Then, we use Docker Manifest to build an image from and then create a container from the created image.

How to make an image and container?

Then what is a dockerfile like ?

Dockerfile Example

# Use the official Ubuntu 18.04 as base
FROM ubuntu:18.04
# Install nginx and curl
RUN apt-get update &&
apt-get upgrade -y &&
apt-get install -y nginx curl &&
rm -rf /var/lib/apt/lists/*

This Dockerfile will talk to Docker CLI/API that

“I am going to use the ubuntu:18.04 image as a base image, and then install some of software like nginx and tool like curl and then run commands as intended.”

Thus, a container image will be created based upon the Dockerfile manifest.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

김영석
김영석

Written by 김영석

I love problem solving and hate repetition of tedious tasks. I like automating, streamlining, optimizing, things.

No responses yet

Write a response