Being wrapped feels good

So why am I a big pro on using Docker or in larger projects/companies even Kubernetes? Well the biggest advantage I see and experience is that you take away dependencies from developers and non developers alike. Can you run Docker, if yes you can run the apps and the database and the frontend. What is left to be done by you? Write the code. That is it.

My strategy is to have your own images. Built upon a solid base image. For example Alpine Linux Docker image with nodejs and npm installed. Maybe even pnpm and Parcel. Then next image might be Angular, React or Vue. It will install the CLI tooling and make sure the package.json stays fresh. You mount the source code at a consistent and predictable location inside the Docker container. This means any person can now run the frontend as long as they have Docker.

This can be done for any language. PHP I am looking at you with your weird images. Also the community of PHP please embrace this practice. Ditch Vagrant.

Why?!?! Well the following reason. Vagrant gives you a full Virtual Machine. This means that Virtual Machine needs to be the exact same as the server that will be running the code. Which it won't. It lives on your developers' machines. So a MacOSX virtualized it slightly different from a Linux. You get errors. Also drifts in versions of applications. System tooling. You name it.

With Docker it will be run the same everywhere. Added benefit is that Docker is way easier to run for non tech people.

Is there a cool hip term for a non tech person?

#devops