Docker

Let’s say you built an app that used things from the OS environment it was built in and later installed that app on a different computer. Often it will work. Sometimes things might go a bit sideways though. Maybe the new environment is using an older version of a program that your app needs as a dependency, and it causes some weird bugs when your run your app. Wouldn’t it be nice if you could ensure your app would run the same no matter where it was installed? Docker to the rescue!

Docker allows you to build container that as all the items needed for your app to run smoothly, so you can give the app to your friend and it runs on his system just great. A Docker container is different from a virtual machine in that it has direct access to the host OS resources via the Docker engine. It’s faster than a virtual machine, so Docker containers can easily spin up or down as needed . It also prevents the app from accessing things it does not need.