Streamline your container workflow with Codefresh!

Hello Whale: Images vs. Containers in Docker

Docker Tutorial | May 5, 2017

If you’re getting started with Docker, you’re probably hearing the word “container” or “image” quite a bit, but you’re probably wondering… what’s the difference? 🤔

To break things down simply…

An image is an application you would like to run.

A container is a running instance of an image.

In other words, you create a new container based on an image. Therefore, many containers can be run off the same image. So, a container is an instance of an image.

Confused?

You can think about images and containers as a class and an instance of class. Here’s a simple example in Python:

In this example, the image would be our class Whale and whale_1 would be a container. Simple, no?

Still confused?

Alright, here’s a metaphor:

Wow- skills!

Imagine you have a copy of a film that (because you are a hipster) you decide to buy a VHS of. In this example, the VHS would be your image. When you play this VHS on your VCR, the VCR would be your container (in that we are running the original VHS in it). In this example, the container (in this case, the VCR) is always tied directly to the image.

And to stretch this metaphor even further:

Imagine you had a DVD and BluRay of a film. These would be your images, while their respective players would be containers.

And to stretch this metaphor even more further:

Imagine you had a laser disk… (ok, you get the point). Same content- different environments.

And there you have it- a super simple way to remember the difference between containers and images!

Wow- ok lady. It’s just a VCR. Calm down.

🐳 To hear more beginner-friendly articles about Docker, follow me on Medium, or find me on Twitter @chloecondon 🐳

About Chloe Condon

Developer Evangelist at Codefresh. Hackbright Alumni/Ambassador/Mentor/frequent conference speaker. Former actress, and one of the only humans who can code while singing the entire score of "Pirates of Penzance".

Reader Interactions

Enjoy this article? Don't forget to share.

Comments

Your email address will not be published. Required fields are marked *

Follow me on Twitter