Docker - Roadmap by Bookmarks

Docker - Roadmap by Bookmarks
"Hey mate, I just started Docker. It's kind of awesome actually!"

Coincidence or not, but I had for this post some friends starting their Docker journey to inspire me, and what a great and easy time to start a container journey with the ocean of tutorials and solutions now available about Docker !

BREAKING NEW: Mirantis, a specialist of OpenStack, Kubernetes and Cloud Solutions, bought Docker Enterprise. Which changes nothing of the purpose of this post for the moment since we were gonna work mostly with the open-source edition.

As I told it, there are already plenty of blogs and explanations about Docker available. So instead of writing another one to explain what has already been explained, I propose to find on this page my little selection of links that I would recommend you for your sailing.

Suggested requirement before start

Seems Docker and containers could be a difficult subject for neophytes, I suggest you to have at least some knowledge about:

  • Virtual Machine / virtualisation to understand the difference with a container
  • Some basic level in programming language, to understand the purpose of Docker
  • A Docker environment to practice. Check here to install it
  • Some basic concept about Devops, since Docker is fully influenced by that philosophy


The following links come mainly from my subscription. If you don't know this tool, I suggest it to you. Pretty cool to receive your daily dose of technology news matching your Github stars.

The Roadmap would be split into different levels of progression, each of them with a set of possible questions you may ask yourself about Docker. Click on them to visit the associated blog post.

Table of contents:

0 - Fundamental theories : Some knowledge to start Docker
1 - Let's start some hack : To begin container manipulation
2 - Make containers efficient again : To keep containers light and fast
3 - Maximise the security : To make your software safe
4 - Deep dive in the high sea of production : To deploy your environment
5 - Cloud is the new playground : the new playground is the cloud
6 - Alternatives: because Docker is not exactly the end
7 - Advanced Knowledges: to impress people in worldly dinner.
Bonus: Or post I didn't know where to put

Layout 0 - Fundamental theories

What is Docker? ‌‌
"Docker" explained by Microsoft Documentation
How to explain the bond between Docker and Devops?‌‌
Explained by Matthieu Robin on
What is the difference between a container and a virtual machine?‌‌
"Container" explained by Doug Chamberlain on
How do I use the basic commands on Docker?‌‌
Explained by Edward S. on

Layout 1 - Let's start some hack

How can I easily create a Docker environment?‌‌
"Docker Machine" explained by Shahriar Shovon on
Where can I find some Docker containers ready to use?
‌‌"Docker Hub" explained on
How to write a Dockerfile to create my own Docker Container?‌‌
"Dockerfile" explained on
How to persist my data on Docker?‌‌
"Docker volume" explained by Tal Kammer on
How to expose my Docker container on the network?‌‌
"Docker Network" explained Alex Kondratiev by on
How to make my containers interact between them?‌‌
"Docker Compose" explained by Roger Krolow on

Layout 2 - Make containers efficient again

How to make my containers faster?‌‌
Explained by Chris Tozzi on
How to make my Docker image lighter?
‌‌"Multi-Stage" explained by nrxr on
What if I want to use Windows containers?‌‌
"Windows container" explained on

Layout 3 - Maximise the security

How to secure my Docker container?‌‌
Explained by Charlie Belmer on
What are best practices for production?
Explained on
How to make sure my container is safe?
‌‌"Image Scanning" explained by Gabriel Avner on

Layout 4 - Deep dive in the high sea of production

Can I use Docker in production?‌‌
Explained by optasy on
How to turn Docker scalable and high available?‌‌
"Docker Swarm" explained on
What is Kubernetes?‌‌
"Kubernetes" explained on

Layout 5 - Cloud is the new playground

What is the best build-in solution on AWS?‌‌
"Amazon ECS" explained on
How to run containers on Google Cloud Platform?‌‌
"GKE" explained by John Kariuki on
Which service use on Microsoft Azure for containers?‌‌
"Azure App Service" explained by Mike Pfeiffer on

Layout 6 - Alternatives

Which self-hosted Container Registry to use?‌‌
"Quay" explained on
What if I don't like to manage Docker in command line?‌‌
Explained by
Can I do Docker compatible container with other tools?‌‌
"Podman" explained by Doug Tidwell on
Can I build Container Image another way?‌‌
"Buildah" explained by Ashutosh Sudhakar Bhakare on
Can I avoid the complex part of using Docker?
‌‌"Lando" explained on

Layout 7 - Advanced Knowledges

How does an engine like the Docker one actually work?‌‌"
Docker Runtime" explained by Ian Lewis on

Bonus - Because I didn't know where to put them

What about Docker in today's situation?‌‌
Explained by thehftguy on
How to build and run tiny virtual machines from Dockerfiles?‌‌
With Slimjs ‌


As you have seen, there are many things to understand around Docker before using it to its full potential. For now, if you've managed to go through everything, congratulations!

You should have understood that Docker is more a tool for development stage and local test than production environment. Other tools like Kubernetes would be in that case more efficient and scalable.

However, despite his controversial situation, Docker remains an excellent tool to begin and learn how to manipulate containers. The next step is to learn how to develop efficient microservices!

PS: This post contains the word "Docker" 46 times.

Show Comments