That being said, as impressive as this progress is, there's still some distance to cover. Not to be a hater, but docker+sandbox still doesn't equal their old Sandbox service "flavor". Minimal configuration is the primary allure of, not just dotCloud, but the PaaS ecosystem as a whole. Had they waited until these projects reached maturity before sunsetting their Sandbox service, I might still be deploying my whole stack to dotCloud.
> Docker is an open-source engine which automates the deployment of applications as highly portable, self-sufficient containers which are independent of hardware, language, framework, packaging system and hosting provider.
What does this mean? Someone sets up an application with necessary dependencies, everything ready to go and creates a container out of it which can run on any linux kernel?
docker run -h myhost -t repo/redis-image redis-server
That creates a container based on the repo/redis-image image, and runs the command "redis-server" once it boots (less than a second on my machine).
I understand that it's a lightweigth container, but what's the advantage? Aren't images still 2+ GB? Do I have to version the entire FS instead of 2-3 config files? Can I freeze it? Can I push it to a server? How long will that take? Can I use the same image on develop, staging and production? How does it know which is which?
Etc etc.
Yes, in the end images are an entire filesystem and can be large if you installed a lot of packages (or very small, e.g: busybox). Yes, you can freeze it: you can commit a container as a new image. Yes, you can push it to a server (https://index.docker.io/). Yes, you can use the same image for development, staging and production; you'll launch different container from the same image that's it.
As a front end developer I would like to see this mature into a project which "makes my life easier", and currently, one of the biggest pains, I think is setting up a nginx or apache project with the right WSGI directives.
What I would love to see this develop into is a way to get my code pretty much straight from my IDE to a server of my own (whether hardware or virtual). I know it is very limited in deployment features right now, but I can pretty much rely on Docker to do that. e.g. "sandbox build /folder"; docker push dhrp/folder; ... ssh to my server ... docker run dhrp/folder. Done!
Two things are still missing here: * Some kind of proxy with virtualhosts to map port 80 to my container * A default run command for container committed by sandbox
http://www.korokithakis.net/posts/example-provisioning-and-d...
You can go from fresh installation to complete Django stack in one command.
But the reason why so many people like PaaS such as Heroku and dotCloud is actually that there is /one/ recommended way to structure your app (at least, what to put in wsgi and so forth). It's about making it easy to go from code to package to deployment.