Productivity Booster
August 14, 2019
Productivity Booster
Score 10 out of 10
Vetted Review
Verified User
Overall Satisfaction with Docker
Docker is used by most of our teams as part of their development and deployment practice. For development, it enables engineers to build applications in the same environment without worrying about local configuration issues. Nearly all of our CI/CD and infrastructure runs in Docker containers as well, which makes debugging production issues (especially around deployment) as simple as pulling down the right image and poking at it locally.
- Isolation of dependencies.
- "Black box" services like databases and packaged applications.
- Infrastructure as code.
- The CLI can take some getting used to if you aren't familiar with it.
- For running many Docker containers locally, you'll need a lot of disk and RAM.
- There are a lot of concepts to be familiar with when learning Docker, and the documentation could be more beginner-focused.
- It has simplified our deployment significantly, making it easier to push out changes to our customers.
- It has made our developers more efficient.
- Since it is such a widely-used technology, onboarding is much simpler.
I have used Vagrant for consistent development environments as well. It is a more "heavyweight" solution since it's a complete virtual machine that requires a host like VirtualBox in order to run. With Docker, the container is much more lightweight and just requires the docker daemon to be installed locally, and then I can run any container in the world with just the CLI.