Docker not only solves the chaos “it works fine on my machine” but also it has some other benefits.
Docker is used when you have a lot of services which work in an isolated manner and serve as a data provider to a web application. Depending on the load, the instances can be spun off on demand on the basis of the rules setup.
Docker can be used on local machines as well as the cloud. The best way to use docker is with Docker swarm flavor with Docker cloud. Nowadays Dockers management come in many flavors, Kubernetes, Rancher, Mesos etc.
Dockers have implicit security setting, so hacking is not easy as the ports and services cannot be compromised easily. You can also set up security keys so that the communication between containers is using those keys.
Dockers have automatic failover. In case any application fails or is engaged due to any reason, another instance fires up for keeping up with availability. This enables one to fire off multiple instances and the services are discovered using the Docker cloud settings. This way when the load is less on your application, very less hardware is used. As the load increases, the hardware scales up (and scales down when load decreases).
With Docker, one creates a Docker image → Docker container → Docker instance. Means an image is created of an application, of which an instance will be created from the image and will sit in a docker container of a machine.
Docker instance acts as a separate machine and has an IP and ecosystem of its own.
I’ve started learning about docker. If you love DevOps things or planning to serve millions of your customer, you should learn about this new piece of technology. Next, I’ll try to leverage my docker knowledge with Kubernetes.
Some good read on docker:
Please suggest me some good contents which you found very interesting. I’ve finished this course called “Docker For Developers” on LinkedIn learning, it’s very helpful to understand the concept. Btw I’m no pro on this but trying to play around.
Here are the practice codes:
N.B: it’s a very simple node application.