Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

12/9/23, 5:29 PM What is Docker? | Opensource.

com

LO G I N 

What is Docker?

Image by: Photo by Cameron Venti

Docker, a subset
HOW WE USEofCOOKIES
the Moby project, is a software framework for building, running,
and managing containers on servers and the cloud. The term "docker" may refer to
either We
theuse
tools (the commands
cookies deliver ouror to the Dockerfile file format.
andtoa daemon)
on our websites
online services. Details about how we use
It usedcookies and how
to be that when you may
you disabletothem
wanted run aareweb
set application, you bought a server,
out in our Privacy Statement. By using this
installed Linux, set up a LAMP stack, and ran the app. If your app got popular, you
website you agree to our use of cookies.
practiced good load balancing by setting up a second server to ensure the
application wouldn't crash from too much traffic.
https://opensource.com/resources/what-docker 1/5
12/9/23, 5:29 PM What is Docker? | Opensource.com

Times have changed, though, and instead of focusing on single servers, the Internet
is built upon arrays of inter-dependent and redundant servers in a system commonly
called "the cloud". Thanks to innovations like Linux kernel namespaces and cgroups,
the concept of a server could be removed from the constraints of hardware and
instead became, essentially, a piece of software. These software-based servers are
called containers, and they're a hybrid mix of the Linux OS they're running on plus a
hyper-localized runtime environment (the contents of the container).

Understanding containers
Container technology can be thought of as three different categories:

Builder: a tool or series of tools used to build a container, such as distrobuilder


for LXC, or a Dockerfile for Docker.

Engine: an application used to run a container. For Docker, this refers to the
docker command and the dockerd daemon. For others, this can refer to the
containerd daemon and relevant commands (such as podman.)

Orchestration: technology used to manage many containers, including


Kubernetes and OKD.

Containers often deliver both an application and configuration, meaning that a


sysadmin doesn't have to spend as much time getting an application in a container to
run compared to when an application is installed from a traditional source. Dockerhub
and Quay.io are repositories offering images for use by container engines.

The greatest appeal of containers, though, is their ability to "die" gracefully and
respawn when load balancing demands it. Whether a container's demise is caused by
a crashHOW WE USE COOKIES
or because it's simply no longer needed because server traffic is low,
containers are "cheap" to start, and they're designed to seamlessly appear and
We use cookies on our websites to deliver our
disappear. Because containers are meant to be ephemeral and to spawn new
online services. Details about how we use
instances as often
cookies
as required,
and how
it's expected
you may disable them arethat
set monitoring and managing them is
not done
out by a human
in our PrivacyinStatement.
real time, but is instead
By using this automated.
website you agree to our use of cookies.

Alternatives to Docker
https://opensource.com/resources/what-docker 2/5
12/9/23, 5:29 PM What is Docker? | Opensource.com

Linux containers have facilitated a massive shift in high-availability computing. There


are many toolsets out there to help you run services, or even your entire operating
system, in containers. The Open Container Initiative (OCI) is an industry standards
organization that encourages innovation while avoiding the danger of vendor lock-in.
Thanks to the OCI, you have a choice when choosing a container toolchain, including
Docker, CRI-O, Podman, LXC, and others.

Container utilities
By design, containers can multiply quickly, whether you're running lots of different
services or you're running many instances of a few services. Should you decide to run
services in containers, you probably need software designed to host and manage
those containers. This is broadly known as container orchestration. While Docker and
other container engines like Podman and CRI-O are good utilities for container
definitions and images, it's their job to create and run containers, not help you
organize and manage them. Projects like Kubernetes and OKD provide container
orchestration for Docker, Podman, CRI-O, and more.

When running any of these in production, you may want to invest in support through a
downstream project like OpenShift (which is based on OKD.)

What you need to know about Docker community


edition
The open source components of Docker are gathered in a product called Docker
Community Edition, or docker-ce. These include the Docker engine and a set of
Terminal commands to help administrators manage all the Docker containers they are
using. You can install this toolchain by searching for docker in your distribution's
package manager.
HOW WE USE COOKIES

Why use Docker


We use cookies on our websites to deliver our
One ofonline services.
the great Details
things aboutabout
openhow we useis that you have choice in what technology
source
cookies and how you may disable them are set
you use to accomplish a task. The Docker engine can be useful for lone developers
out in our Privacy Statement. By using this
who need a lightweight,
website clean
you agree to environment
our use of cookies. for testing, but without a need for
complex orchestration. If Docker is available on your system and everyone around you

https://opensource.com/resources/what-docker 3/5
12/9/23, 5:29 PM What is Docker? | Opensource.com

is familiar with the Docker toolchain, then Docker Community Edition (docker-ce) is
a great way to get started with containers.

Dockerhub and Quay.io are repositories offering images for your container engine of
choice. If Docker Community Edition is unavailable or is unsupported, then Podman is
a wise option. The effort to ensure open standards prevail is ongoing, so the
important long-term strategy for your container solution should be to stick with
projects that respect and foster open source and open standards. Proprietary extras
may seem appealing at first, but as is usually the case, you lose the flexibility of
choice once you commit your tools to a product that fails to allow for migration.
Containers can be liberating, as long as they're liberated.

This work is licensed under a Creative Commons Attribution-Share


Alike 4.0 International License.

ABOUT THIS SITE

The opinions expressed on this website are those of each author, not of
the author's employer or of Red Hat.

Opensource.com aspires to publish all content under a Creative


Commons license but may not be able to do so in all cases. You are
responsible for ensuring that you have the necessary permission to reuse
any work on this site. Red Hat and the Red Hat logo are trademarks of Red
Hat, Inc., registered in the United States and other countries.

A noteHOW
on WE USE COOKIES
advertising: Opensource.com does not sell advertising on the
site or in any of its newsletters.
We use cookies on our websites to deliver our
online services. Details about how we use
cookies and how you may disable them are set
out in our Privacy Statement. By using this
website you agree to our use of cookies.

https://opensource.com/resources/what-docker 4/5
12/9/23, 5:29 PM What is Docker? | Opensource.com

Copyright ©2023 Red Hat, Inc.

Privacy Policy

Terms of use

Cookie preferences

HOW WE USE COOKIES

We use cookies on our websites to deliver our


online services. Details about how we use
cookies and how you may disable them are set
out in our Privacy Statement. By using this
website you agree to our use of cookies.

https://opensource.com/resources/what-docker 5/5

You might also like