What problems does Docker solve?

Diego Perez
2 min readJul 23, 2022

Docker is a tool that has become a software standard for developing, distributing, and deploying applications. If you are building a digital product together with a team, the challenge is to make your teammates’ code compatible with yours, so that when it runs in any development environment it works correctly.

“Docker is an open platform for developing, shipping, and running applications”

There are three major areas in software development: Develop, Distribute and Execute. Basically how we can develop the software, how to distribute the program to where it should run, and how to run the application as it was built. So each area has its own set of problems.

Develop

Building software means programming, testing, and running an application locally while figuring out what kind of equipment and how many resources it needs to function properly. Common problems in this area are:

  • Environment
  • Dependencies
  • Equivalence with the production environment
  • Availability of external services

Distribute

It is necessary to take the application to the server where it is going to be executed, so the code is transformed into an artifact as binaries or apk, and this has the following problems:

  • Repository divergence
  • Artifacts divergence
  • Versioning

Execute

Once the software is in the right place, it has to run correctly, but we probably won’t be able to build our code on the same machine it will run on, and this will bring some potential problems

  • Compatibility with the production environment
  • Dependencies
  • Availability of external services
  • Hardware resources

This is where docker helps us to solve those problems very easily, it also helps us to work better, in an agile way, and with confidence that the application runs just like on your machine. So it is very important that you as a developer know how to use this tool because it is common that, at some point, you have to deal with Docker in this industry.

Docker promises to solve those issues, as the official documentation says: “Docker is an open platform for developing, shipping, and running applications” Docker provides the ability to package and run an application in a loosely isolated environment called a container.

In the following article, we will discover what a Docker container is and how it works.

--

--

Diego Perez

Technology content creator, Electronics Engineer and Python developer