I’m newbie to the docker world. There are lot of websites and blogs available on the web to know about Docker. I am writing this blog to share my understanding after studying and referring these blogs and websites.
Let us go step by step in the journey from first understanding all about the Docker and its significance in the current IT environment.
What is Docker ?
Docker is a Company that Containers technology easy to use.
What is container?
Container technology is operating system virtualization where the virtual layer runs as an application within one OS. In simple words containers are something like an isolated process running on your machine; they use your Operating System kernel to execute task assigned to them.
Why it is useful for us?
From the developer’s point of view, it is useful for the automation of the code release process. You can use the same image in cloud and on premises. You can move the images across development, testing and production without much friction.
Imagine you have completed development of some module and the tester wants to test your modified code. So, you must host it on a web server, right? But to make sure everything works fine you must configure your web server in exactly the same way as on the machine that you were using for development.
We have a problem here and what should be the solution?
Hmm, what if, I can take everything I need to run my application (like frameworks, binaries, packages etc. everything!) and put them all together on the web server where I am hosting the application.
Fair enough, it should work. But now every time I have changes in my solution, be it a new version of a framework, or a new library, I must go and deploy/put them again. However, installing a new version of a framework or updating a library can affect other applications running on the same web server.
So basically, how about packaging everything you need and running it in isolation? With Docker, you can create a bundle of everything your application may need in a single file called “Image”. Consider it as a big zip of binaries. Moreover, the creation of this image file is so declarative, it is quite easy to read, write and understand. Plus, you can even build a new image with a combination of two and more different images.
Docker manages containers, so conceptually you can use these images to run inside a container.
There are plenty of technologies and tools that have been developed on top of containers. Kubernetes, Openfaas are the most popular.
Portability of the container has made it widely popular. You can use the same image in cloud and on premises. You can move the images across development, testing and production without much friction.
Where to start learning?
Play with docker is the website where you can build and run Docker containers sponsored by Docker Inc. Katacoda is another website that have some basic courses on containers. If you have latest version of Windows 10 on your laptop/desktop, you can install Docker For Windows.
My Last words
This is my first blog on docker please review and comment. Opensource products are becoming more famous as they are built by the contribution of communities. You can also join these communities and contribute.