Why is Docker so great?
- Docker provides a virtual development environment that is independent of the host OS. Docker images with pre-installed Ruby can be created and used for working on Ruby projects. You can reset your Docker container to its original conditions in just a few SECONDS, not hours. By using a custom Docker image in tandem with a 1-step build script in your app’s source code, you can reset your development environment to its original conditions AND be back in business in just a few minutes, not hours.
- Because you have the ability to reset and rebuild everything in just a few minutes, it’s easy to make sure that your 1-step build script in your project works properly. Because you can check your 1-step build process frequently, you can always be on top of ALL of your app’s dependencies and head off the infamous "but it works on my machine" conundrum.
- If you need to install your project manually in the production environment, the scripts used to create the Docker image combined with the 1-step build script in the source code double as a giant cheat sheet.
- Anyone who joins your project can be ready to roll in minutes, not hours or days.