Docker Series — What is Docker?

nolan grace
Dec 4, 2017 · 3 min read
Image for post
Image for post

Over the last few weeks I’ve been helping a lot of people get started using Docker so I thought I would write up this blog series to help people get started using Docker. I will be writing a new blog each week to help readers get started with different docker topics starting with the basics, in this blog, all the way to advanced container scaling and more. So without further ado let’s jump right in!

So, what is Docker and why should you care?? If you are a programmer or in devops you may spend a lot of time preparing development or production environments. Maybe you use hypervisors like VirtualBox or VMware to run full virtual machines (VMs), complete with guest operating system, on your laptop or to quickly deploy servers. As may of you have realized storing and running these VMs takes up a lot of resources. Docker helps with this.

Image for post
Image for post
https://docs.docker.com/get-started/#virtual-machine-diagram

The diagram above illustrates how a normal virtual machine works. Notice how each virtual machine has its own copy of the OS. Removing the dependency of a guest operating system is one way in which Docker differentiate itself from traditional hypervisors.

Image for post
Image for post
https://docs.docker.com/get-started/#container-diagram

As you can see in the diagram above, Docker sits between your application and the host operating system (OS). Docker is able to share the host OS across multiple “Containers” rather than requiring each one to have and run its own full operating system. This allows you to encapsulate your application into a reusable module that can be plugged in and run on any machine where resources are available. This allows for more fine grained resource allocation and can minimize the amount of wasted cpu or memory resources. This notion of tightly packaged Docker containers is similar to the concept of shipping containers; which is where the term Docker containers comes from.

Image for post
Image for post

In the rest of this series I will show you how to build Docker images, run and manage containers, manage interaction between multiple containers, and finally how to scale up Docker beyond one machine.

nolan grace

Written by

I like working with data a little more than I should. Solution Architect at BP3

Pintail.ai

Dive Deep into the Big Data, Machine Learning, Business Process Management, and Scalable Systems. https://github.com/pintail-ai

nolan grace

Written by

I like working with data a little more than I should. Solution Architect at BP3

Pintail.ai

Dive Deep into the Big Data, Machine Learning, Business Process Management, and Scalable Systems. https://github.com/pintail-ai

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store