Recover from work, Rest and Refresh with Docker
We are all busy, super busy. But if you work hard, you got to play hard. This is how you will hone creativity and be more innovative. To help achieve this, you got to Recover, Rest and Refresh from work, at least half a day in a work week. It could very well be on a Friday afternoon, which you can allocate for your personal development where in you aim to learn and try something new.
In this article, I am going to give an example for trying something new for someone who may have Web/Software development background and want to unleash themselves. I am going to cover this with Docker. Now, as you may know, Docker is a containerization technology that has been for some time now (based on Linux, now available on windows too). If not, I am going to let you know figure out the Getting started part of Docker yourself and familiarize with the Hello world container etc. In a nutshell, Docker helps bundle your application in an image (in VM sense) and lets you deploy instances of those images which are then called Containers. Virtually, you can dockerize any application that runs in a browser.

Before we jump into the list of sample images that you can try, I’d suggest you to set up Docker either on your Mac or Linux environment (your choice of Linux favour would do). My personal choice is my Mac Air. However, if you are windows users, fear not, just set up a guest Linux Virtual Machine with either VMware of Virtualbox. There are plenty of articles out there that will guide you through the steps which you can follow to accomplish a minimalist Linux VM on your host. You just have to install the Docker daemon.
Now, it is time to delve into some of the sample images that you can try on your dev environment without much sweat. Most of the community related images can be found on the Docker hub. While you’d also come across the Official images, you can also submit your own images on the docker registry. If you are looking for any images with the commercial aspect, then you can explore the Docker store
Portainer: A light weight container management tool to manage your images and containers
https://hub.docker.com/r/portainer/portainer/
Couchbase: A NoSQL document store with a distributed architecture
MongoDB: Another popular NoSQL document database
Apache Nifi: Data Integration platform
https://hub.docker.com/r/mkobit/nifi/
Prometheus: Open source systems monitoring and altering toolkit
https://hub.docker.com/r/prom/prometheus/
With these five samples, you are on well your way to build your expertise around Docker containers and understand the way it works. The idea is of Docker is a simple one but there are many tooling that are available within those containers that you can dig into and understand the inner workings of it. I’d suggest to download the Docker cheat sheet which will help you familiarize with Docker commands such as ps, exec, inspect etc. and also try Docker within Docker though it is not recommended!
Please tweet me your experience and feedback and if you wish to know more about creating your own Docker images which constitutes to its own Medium article!