0% found this document useful (0 votes)
57 views1 page

Part 2 - A Delicious Dozen Docker Terms You Need To Know

Docker is software that allows applications to be run in isolated containers. This document defines 12 important Docker terms: 1. Docker Platform provides the ability to package and run applications in containers across Linux servers. 2. Docker Engine includes the Docker client and daemon, which allow users to interact with and manage containers. 3. Docker volumes store persistent application data outside containers. 4. Docker registries store container images remotely, like Docker Hub, the default public registry. 5. Additional terms relate to deploying multiple containers, including networking them, using Docker Compose to define multi-container apps, and scaling containers as services across clusters with Swarm orchestration.

Uploaded by

Petar Becic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views1 page

Part 2 - A Delicious Dozen Docker Terms You Need To Know

Docker is software that allows applications to be run in isolated containers. This document defines 12 important Docker terms: 1. Docker Platform provides the ability to package and run applications in containers across Linux servers. 2. Docker Engine includes the Docker client and daemon, which allow users to interact with and manage containers. 3. Docker volumes store persistent application data outside containers. 4. Docker registries store container images remotely, like Docker Hub, the default public registry. 5. Additional terms relate to deploying multiple containers, including networking them, using Docker Compose to define multi-container apps, and scaling containers as services across clusters with Swarm orchestration.

Uploaded by

Petar Becic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Sign in Get started

Follow 586K Followers · Editors' Picks Features Deep Dives Grow Contribute About

You have 2 free member-only stories left this month. Sign up for Medium and get an extra one

Learn Enough Docker to be


Useful
Part 2: A Delicious Dozen Docker Terms You Need to Know

Jeff Hale Jan 16, 2019 · 6 min read

In Part 1 of this series we explored the conceptual landscape of Docker


containers. We discussed the reasons Docker containers are important
and several ways to think about them. And we made one into a pizza 🍕.
In this article I’ll share a dozen additional terms from the Docker
ecosystem that you need to know.

Keeping with the food theme from the first article in the series. Here’s a dozen delicious Docker donuts. Think of each
donut as a Docker container. 😄

Docker Ecosystem Terms


I’ve broken Docker terms into two categories for easier mental model
creation: Essentials and Scaling. Let’s hit the eight essentials first.

Docker Essentials
Docker Platform is Docker’s software that provides the ability to
package and run an application in a container on any Linux server.
Docker Platform bundles code files and dependencies. It promotes easy
scaling by enabling portability and reproducibility.

Docker Engine is the client-server application. The Docker company


divides the Docker Engine into two products. Docker Community Edition
(CE) is free and largely based on open source tools. It’s probably what
you’ll be using. Docker Enterprise comes with additional support,
management, and security features. Enterprise is how the Docker firm
keeps the lights on.

Engine makes things run

Docker Client is the primary way you’ll interact with Docker. When you
use the Docker Command Line Interface (CLI) you type a command into
your terminal that starts with docker . Docker Client then uses the Docker
API to send the command to the Docker Daemon.

Diagram from the Docker docs

Docker Daemon is the Docker server that listens for Docker API
requests. The Docker Daemon manages images, containers, networks,
and volumes.

Docker Volumes are the best way to store the persistent data that your Top highlight

apps consume and create. We’ll have more to say about Docker Volumes
in Part 5 of this series. Follow me to make sure you don’t miss it.

Volumes

A Docker Registry is the remote location where Docker Images are


stored. You push images to a registry and pull images from a registry. You
can host your own registry or use a provider’s registry. For example, AWS
and Google Cloud have registries.

Docker Hub is the largest registry of Docker images. It’s also the default
registry. You can find images and store your own images on Docker Hub
for free.

Hubs and spokes

A Docker Repository is a collection of Docker images with the same


name and different tags. The tag is the identifier for the image.

Usually a repository has different versions of the same image. For


example, Python is the name of the most popular official Docker image
repository on Docker Hub. Python:3.7-slim refers to the version of the
image with the 3.7-slim tag in the Python repository. You can push a
repository or a single image to a registry.

Now let’s look at Docker terms related to scaling multiple Docker


containers.

Scaling Docker
The following four concepts relate to using multiple containers at once.

Docker Networking allows you to connect Docker containers together.


Connected Docker containers could be on the same host or multiple
hosts. For more information on Docker networking, see this post.

Docker Bridge Network

Docker Compose is a tool that makes it easier to run apps that require
multiple Docker containers. Docker Compose allows you to move
commands into a docker-compose.yml file for reuse. The Docker Compose
command line interface (cli) makes it easier to interact with your multi-
container app. Docker Compose comes free with your installation of
Docker.

Docker Swarm is a product to orchestrate container deployment. The


official Docker tutorial has you using Docker Swarm in its fourth section. I
would suggest you not spend time on Docker Swarm unless you have a
compelling reason to do so.

Bee swarm

Docker Services are the different pieces of a distributed app. From the
docs:

Services are really just “containers in production.” A service only runs one
image, but it codifies the way that image runs — what ports it should use,
how many replicas of the container should run so the service has the capacity
it needs, and so on. Scaling a service changes the number of container
instances running that piece of software, assigning more computing resources
to the service in the process.

Docker services allow you to scale containers across multiple Docker


Daemons and make Docker Swarms possible.

There you have it: a dozen delicious Docker terms you should know.

Recap
Here’s the one line explanation to help you keep these dozen terms
straight.

Basics
Platform — the software that makes Docker containers possible

Engine — client-server app (CE or Enterprise)

Client — handles Docker CLI so you can communicate with the Daemon

Daemon — Docker server that manages key things

Volumes — persistent data storage

Registry — remote image storage

Docker Hub — default and largest Docker Registry

Repository — collection of Docker images, e.g. Alpine

Scaling
Networking — connect containers together

Compose — time saver for multi-container apps

Swarm — orchestrates container deployment

Services — containers in production

Because we’re keeping with food metaphors, and everyone loves a


baker’s dozen, we have one more related term for you: Kubernetes.

One more donut with extra icing and sprinkles

Kubernetes automates deployment, scaling, and management of


containerized applications. It’s the clear winner in the container
orchestration market. Instead of Docker Swarm, use Kubernetes to scale
up projects with multiple Docker containers. Kubernetes isn’t an official
part of Docker; it’s more like Docker’s BFF.

I have a whole series on Kubernetes in the works. Kubernetes is pretty


awesome.

Now that you know the conceptual landscape and common terms I
suggest you try out Docker.

Baking with Docker


If you haven’t worked with Docker before, it’s time to get in the kitchen
and make something!

Docker runs locally on Linux, Mac, and Windows. If you’re on a Mac or


Windows machine, install the latest stable version of Docker Desktop
here. As a bonus, it comes with Kubernetes. If you’re installing Docker
elsewhere, go here to find the version you need.

After you have Docker installed, do the first two parts of the Docker
tutorial. Then meet back here for more Docker fun. In the next four
parts of this series we’ll dive into Dockerfiles, Docker images, the Docker
CLI, and dealing with data. Follow me to make sure you don’t miss the
adventure.

Part 3 on Dockerfiles is now available here:

Learn Enough Docker to be Useful


Part 3: A Dozen Dandy Dockerfile Instructions
towardsdatascience.com

If you found this article helpful, please share it on Twitter, Facebook,


LinkedIn and your favorite forums. Thanks for reading!

Thanks to Kathleen Hale. 

Sign up for The Variable


By Towards Data Science

Every Thursday, the Variable delivers the very best of Towards Data Science: from
hands-on tutorials and cutting-edge research to original features you don't want to
miss. Take a look.

Get this newsletter

Data Science Machine Learning Docker Programming Software Development

6.5K 8

More from Towards Data Science Follow

Your home for data science. A Medium publication sharing concepts, ideas and
codes.

Keith McNulty · Jan 16, 2019

How to cut out the SQL middle-person in


analytics
Constantly manually executing SQL queries for your clients? Here’s a
way to get them to help themselves.
One of my current goals in life is to help data analysts cut out the boring,
mind-numbing aspects of their work so that they can focus on more
interesting, useful and cool stuff.
One common situation I see in analytics teams is where analysts are
playing an unnecessary and highly repetitive middle-person role —
where business users want certain specific data repeatedly, and it is up to
the analyst to manually perform these repetitive SQL queries to extract
the data and send it to the client. The same or very similar queries, again
and again. Not fun. …

Read more · 7 min read

273 5

Share your ideas with millions of readers. Write on Medium

Joel Quesada · Jan 16, 2019

Data Scientist Profiles


Towards a definition for Data Science specializations
Data Science lacks a proper definition of the field leading to buzzwords
and a weird mixture of demanding skills.
In this post, we light the way to get the best Data Science profile for your
business needs. Especially, the article seeks to help companies that can
not afford to have a huge DS Team and want to optimize their
investment.

A random picture with a lighting metaphor

I am lucky enough to work with a great team of Data Scientists from


different countries and different backgrounds. We are all Data Scientist
though, with different mindsets and specializations.
Mathematicians, physicists, statisticians, economists and
computer scientists. My team is…

Read more · 6 min read

36

Daniel Shapiro, PhD · Jan 16, 2019

Retainer Agreements in AI Consulting


Retainer services are delicate but useful
Google’s definition of a retainer is “a fee paid in advance to someone,
especially an attorney, in order to secure or keep their services when
required.” In this article you will get some insight into how AI consultants
can think about adding retainer clients versus engaging in the more
standard corporate engagements of defined scope and duration.
There are already some great articles out there on how to select your
hourly rate as a consultant, and I’ll try not to replicate that here. Instead,
I’m going to hone in on how to maneuver the initial conversations at the
lead and…

Read more · 10 min read

43

David Forras · Jan 16, 2019

The power of subjectivity in the age of


robot journalism
How to remain relevant as a journalist with the rise of AI and
automation.

If you were born before 1990, there is a good chance you remember the
guy with whom you interacted in video rental shops. Let’s call him Bob.
When you met Bob, he took your previous movie back, recommended a
new one to you and finally took your money. What is interesting about
the Bobs is how they lost their jobs due to technological development and
artificial intelligence.
First, only one of the Bobs’ tasks became obsolete, as rewinding
videotapes became unnecessary in the DVD era. But, at that time, nobody
called the Bobs’ ability to generate value into question. …

Read more · 14 min read

75

Wendy Wong · Jan 16, 2019

Exploring Australian Open Tennis data


with Tableau — Part 3
Using Tableau to understand Australian Open Tennis data for the Men’s
tour 2000 to 2018. Tableau is like visual SQL.

It’s a heatwave this week in Sydney with 30+ degrees. When is winter
arriving?
I have been missing out of action with my posts, I continue to write to
my future self and continue the #29dayproject. The 29 day project is a
passion project to apply analytics and some data science and tools in
analytics thinking. In the last post, we conducted Exploratory Data
Analysis (EDA) using R and assessed missing values and produced some
descriptive statistics.

Why do I need Tableau?


Tableau is a…

Read more · 4 min read

46

Read more from Towards Data Science

More From Medium

Python: The What and Unity: C# to Android and Is good code style always What is a checksum?
The Why Android to C# subjective? bshelling
Novak m0skit0 Bayrhammer Klaus

Host Your Laravel How Using React Dev I am using AWS to help New Google Mobile Ads
Application with Digital Tools Made Me Better fight COVID-19, and you SDK Changes Will Affect
Ocean or Vultr by yourself Developer can help too! Android and iOS Apps
victor steven Bernard Bado in Level Up Gustavo Aguiar
and Revenue
Coding Danwil Reyes

About Write Help Legal

You might also like