- 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.
- 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.
Just use it. Everyone else uses it, and for good reason.
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.