What is Docker?

I’ve been learning about Docker through the course Docker in a Day

Docker allows programmers to create ‘containers’ around different environments.

Consider the following example,

You want to create an environment with Python 3.7 and Nginx.

You have different environments as part of your development like your staging server for example, and all of these use different operating systems.

How can we easily setup and use this environment in all of these stages of production without setting up each individually?

The answer is containers with Docker.

The Docker containers creates a wrapper around your application and its dependencies.

The Docker engine then runs the container.

The host operating systems only needs to know Docker. It’s doesn’t need to know all of the different dependencies (Docker takes care of them).

The container will always provide the same environment regardless of the underlying operating system.

In order to setup Docker on my mac I used this guide .

It’s very interesting learning about what is a popular and important tool in software engineering.