Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. The great thing about these containers is that they encapsulate any payload and runtime dependencies, and will run consistently on and between virtually any server.

I'd heard about Docker a couple of months ago (their github repo is on fire!) and actually met up with a couple of their guys at Monktoberfest. We've been playing around with Docker at CloudSpokes for a number possible scenarios and that got me thinking: wouldn't it be great if you could use Docker for development? You could develop locally, deploy the container to a sandbox for testing and then finally deploy it to production once it's ready for primetime. This would be soooo much easier and more efficient than using change sets or ANT.

Docker has an index of community runtimes so that you can browse and find Docker container images. I know it's a lot of work, but in theory, Salesforce could push a container with a stripped down version of with perhaps just what is required to write Apex and Visualforce. Since most of everything on is Java maybe include some additional jars for workflow, validation, running tests, etc. I know there are A LOT of technical hurdles to jump but this would be a boon to development on No longer would you be tied to the internet to write code and test.

I've created this Idea so please go vote it up if you think this would be a good feature. You know it would be.