Why use Docker for Development

Image Source and Credits: http://paislee.io/the-ultimate-nodejs-development-setup-with-docker/

In this blog, we’ll discuss why docker should be leveraged for local application development and testing.

Docker is not just for deployment, it’s a great tool for development too.

Why use Docker for Development?

Here’s some of the benefits of leveraging docker for development purposes.

  • Consistent development environments for the entire team. All developers use the same OS, same system libraries, same language runtime, independent of the host OS. The development environment is exactly the same as the production environment.
  • If you’re having a hard time building / compiling the application code, then build it inside Docker. This primarily applies to developers using MacOS and Windows.
  • With application development using Docker, you don’t need to install a bunch of language environments on your system. You can simply run the ruby / python / java application inside docker container with the help of a Ruby /Python / JAVA Docker image respectively.
  • With Docker, you can use different versions of same programming language without having to resort to all the hack arounds for the language on your machine.
  • Deployment is easy. If it runs in your container, it will run on your server just the same. Just package up your code and deploy it on a server with the same image or push a new Docker image with your code in it and run that new image.
  • With the help of docker volumes, you can still use any editor/IDE of your choice as you normally do. You don’t need to run a VM and then ssh for development from the shell.
Image Source and Credits: http://paislee.io/the-ultimate-nodejs-development-setup-with-docker/

Disclaimer: Image source has been mentioned. Special Credit to concerned folks.