What do you like best?
- I don't have to install any software. Everything is dockerized!
- I can run multiple copies of everything for scaling.
- Containers start instantly. So fast.
- After I delete containers, no residue is left. It is truly a sandbox.
- Docker perfectly manages its storage space. If you are downloading two similar images, docker would only save the common parts of those images once.
- Docker is ever-growing. This is the future, and development is very active. You get new updates very often, and you can tell that they are moving in the right direction.
- The concept of containerization as a whole is so supreme and powerful, that you are really missing out, if you have not dockerized your applications yet. Docker has really redesigned the whole pipeline and deployment game.
What do you dislike?
- Lots of configurations to get some containers running.
- Containers don't have generic guidelines to start. Different containers take different skills to get up and running.
- Sometimes, the containers may die. Though this is not Docker's fault, it is application fault.
- Around 5-7 containers, my machine starts to give up.
- I don't like Kitematic. It can be more refined. Currently it doesn't even show logs properly, and is slow and brittle.
- Docker itself is small, but not all applications built inside docker are small. E.g. Just adding a language and couple of libraries would increase your storage significantly. This is not a docker fault per say, but not all applications have been re-worked to lower the memory and storage footprint.
Recommendations to others considering the product
Just use it. Everyone else uses it, and for good reason.
What business problems are you solving with the product? What benefits have you realized?
We wanted to treat each application as a box, which can be transported from one environment to another. Docker is the perfect solution for this. It has made our deployment so much faster, and our pipeline so much cleaner.