The Docker Handbook

The concept of containerization itself is pretty old, but the emergence of the Docker Engine in 2013 has made it much easier to containerize your applications.

According to the Stack Overflow Developer Survey - 2020, Docker is the #1 most wanted platform, #2 most loved platform, and also the #3 most popular platform.

As in-demand as it may be, getting started can seem a bit intimidating at first. So in this article, we'll be learning everything from basic to intermediate level of containerization. After going through the entire article, you should be able to:

  • Containerize (almost) any application

  • Upload custom Docker Images to online registries

  • Work with multiple containers using Docker Compose

Prerequisites

  • Familiarity with the Linux Terminal

  • Familiarity with JavaScript (some later projects use JavaScript)

Project Code

Code for the example projects can be found in the following repository:

You can find the complete code in the completed branch.

Contributions

This article is completely open-source and quality contributions are more than welcomed. You can find the full content in the following repository:

I usually do my changes and updates on the GitBook version of the article first and then publish them on freeCodeCamp. You can find the always updated and often incomplete version of the article in the following link:

If you're looking for the complete and stable version of the article then freeCodeCamp will be the best place to go:

Which ever version of the article you end up reading though, don't forget to let me know your opinion. Constructive criticism is always welcomed.

Awesome Contributors

I am listing the names of the amazing people who have contributed to this small project in alphabetical order.

  • Andrea Trogolo - fixed several grammatical mistakes and inconsistencies in code examples.

  • Arsen Melikyan - fixed typos and inconsistencies in multiple images and sections.

  • David A. Carley - fixed spelling mistakes in some of the svg files.

  • Emilano Vazquez - fixed inconsistencies in code explanations.

  • Steven Cook - fixed mistakes and added new sub-sections with better explanations for some of the topics.

Thanks a lot to all of you, I appreciate the effort you guys have put in improving this project. Hoping to collaborate in the future also.