Docker is a software technology that makes developing and deploying applications different than in the past. The special feature of Docker is that the respective application itself is encapsulated in a Docker container. This Docker container is a stripped down to the essentials operating system, which includes only the respective application.
While trapped primarily to specific hardware servers, Docker allows you to move an application between different systems. This greatly simplifies the deployment of a system.
Procedure without Docker
Before Docker, the approach was usually like using software on desktop computers. Without Docker, you install a specific version of software on a server, such as a database system. This always binds you to the restrictions and peculiarities of this software. If, for example, you have several databases (different version levels) to administer, conflicts and complications can quickly arise without Docker. Docker helps here.
Procedure with Docker
With Docker, the database software (such as MySQL) is encapsulated: every software starts in a configurable Docker container, which brings its own stripped-down operating system. This means that a container can be launched quickly, small and isolated: there can be no technical conflicts of version because the software is the only one running in their world (the Docker Container). If you need different versions of a database software, you can simply run different Docker containers … single or parallel.
As a rule, an application is based not just on one software but on several components (web server, middleware, database, and so on). In a Docker system, each of these components receives its own container. With Docker you have not only solved the already mentioned isolation problem. But you can quickly transfer a broken live system for debugging on a test system, unscrew and examine. Or you can scale your application using AWS, for example.
In December 2019, I took a number of Docker trainings and already used Docker privately. I now plan to use Docker also intensively for business reasons.