Docker rocks!
March 24, 2017

Docker rocks!

Jesse Bye | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User

Overall Satisfaction with Docker

We are just beginning to use Docker for some specialized microservices within our existing server infrastructure. Specifically, we use it to run a Selenium Grid for automated web-based testing. We are considering broader adoption of Docker within areas such as Java application deployment, local development environments, and continuous integration. Docker primarily helps us maintain environmental consistency (having the same environment from local development to deployment in the cloud).
  • abstracting the virtualization aspects so that I don't need to know every detail (even to the point of not needing to know if Docker is using a VM behind the scenes or not)
  • providing a simple yet powerful configuration scheme
  • huge selection of base containers and easy way to derive from them
  • automated builds through Docker Hub
  • multiple configuration file versions can be a little confusing
  • experienced some downtime with Docker Hub, though it was cleared up quickly
  • not really a con of Docker, but it takes some time to learn the concepts of containers and adapt to that way of thinking. Perhaps it would be helpful to have a "Docker for Old School Sys Admins" guide that helps explain some of the differences in concepts and execution when working with containers.
  • We had considered purchasing a Selenium hosting service, but with Docker were able to quickly and easily create our own Selenium Grid with minimal effort. So rather than paying a few hundred dollars each month for a service, we essentially just pay for the cost of our servers.
  • As we roll out Docker more, I expect that we will see benefits of containerization and smaller service-based architecture.
Docker doesn't directly compare to very many other services. It is unique in its field. However, I love how fast Docker services spin up in comparison to VM-based or server-based applications. Docker is being adopted at a fast rate in the industry, so it's great to see Docker support almost everywhere we look. For example, SaltStack has decent Docker integration, and most CI providers support Docker out-of-the-box now.
Docker seems to be well suited for small services, but not as much for larger monolithic applications. If your architecture lends itself well to segmenting into small, interlinked services, then Docker is an excellent candidate. However, I would be cautious about spending a lot of time re-architecting your entire platform if it is more monolithic. Docker is incredible for what it does, but it will not magically make your giant million lines of code application better. I would definitely recommend considering Docker though if you are refactoring or reworking pieces of your application. There's no reason you can't adopt it in a few places, and gradually increase adoption as it makes sense to do so.