Have you ever worked on a project, had it working but when your friend tried to work on it, it did not work? Were you stumped on why it did not work?
Well one of the most likely reasons is because not every computer is built the same. A program you made on your computer might not work on someone else’s computer. Especially if the computers’ OS are different. One is using Arch Linux while the other is using Ubuntu. But there is a way to remedy this and that is to use a docker.
What is a Docker?
A docker is an application that makes it easier to deploy, create or use applications by creating a container. A container allows a developer to package up the dependencies and library an application needs, and deploy it as one package. Developers don’t need to worry about any custom settings that other developers have, because thanks to the container will ensure the application runs on the same dependencies/libraries.
A Docker is like a mini virtual machine. Dockers allow the program to be ran on the same kernel as the computer, unlike a virtual machine which emulates an entire OS. This helps with performance and reduces the size of the application.
Who is a Docker for?
A docker is a tool for both developers and system administrators. Making it a part of many developers toolchain. It means developers can focus on running the program without worrying the system it will be running on. It can give a huge head start to programming with the many application already designed to run on a docker.
How to use a Docker?
Here is a youtube tutorial on how to run a docker:
Do you have to use a Docker?
The answer is, using a docker is not a must. In my group project where we develop a mobile application for the government, it happens to be that we do not use dockers for our local machine. The reason being is our program is still easily setup and executed on our local machines. But is still is utilized on our project through gitlab. The gitlab we are currently using, uses docker to compile and run the program.
Another important thing to note is, Dockers can help with certain program architectures. So maybe your program architecture needs to use a docker or maybe not. Try it and find out!
In conclusion, dockers are a very useful toolkit for any developer. And the very least, all developers should be acquaintanced with it.