A beginners guide to Docker

I saw this topic listed as one of the next articles a few of us would like to read. As I have only just completed an introduction to Docker, I thought I would give it a go.

What is Docker?

There are many definitions that leave one more confused than knowledgeable. The problem is not that these definitions seek to be ambiguous, there simply isn't an easy way to define Docker in the traditional "explain it to me like I'm a four-year-old" manner. To that end, and for better or worse, here is my understanding.

Docker is a way of isolating an app/service from a host system to make it somewhat independent. This is done by packaging everything that the app/service needs (including the app itself) into an image. This then means one can send that image to anyone and it will run as you expect it to.

Docker can also be compared to creating a virtual machine image. In the case of a virtual machine image, you would include everything from the operating system to the dependencies of your app/service and app itself. While a Docker image would only include your app/service and what it needs to function (without the full operating system). Needless to say, you can already imagine the obvious file size benefit of packaging only your app and what it needs versus an entire operating system.

Above is a very basic description of what Docker is. To get a better understanding of Docker, you will need to delve deeper into the vast amounts of documentation and video tutorials that can be found on the internet.

Additional reading and/or study

To help you, here are the two that I am currently using to learn this very topic. The first is a youtube video.

The second is a site that has proven quite useful in explaining the behind the scenes of how Docker works kotaCoda

Finally, for a more in-depth insight into what Docker is, and without jumping into a tutorial, you can read the following article on medium. I should point out that I am in no way affiliated with the author of that article.

I hope this helps.

Vamsi Rao's photo

Thank you for writing this and replying to my RFA!

Bolaji Ayodeji's photo

This is amazing, thanks for sharing and utilizing the RFA feature.

Luiz Filipe da Silva's photo

As a layman, this was very useful to me. Thanks for sharing!

Ruth Ikegah's photo

Nice article Mikey San

Sandeep Panda's photo

Thanks for writing this.

Quick tip: Please move the YouTube embed to a new line to make it work. :)

Mikey San's photo

Great tip. I was going crazy trying to figure out what I missed :)