It seems like they are on HN every day, yes. And I am getting lost. Docker, Dokku, Strider...
I am interested in one thing: continuous deployment of apps that wait until old versions of apps die off (using an IPC channel). Heroku seems to just time out after x minutes. Can someone more knowledgeable than me say how/if the Docker eco system handles this? I am interested in Node.js only.
Awesome, well then I am glad I found you. Could you, if you would be so kind, please point me in the direction of an example or the tools I need to be using? I will then look in to it and the next time someone asks, I can point them straight to Docker.
Once a revision is "good enough", I update the service configuration to load balance between new and old views of the site, and then remove the old view from the rotation. Reverting back to a previous revision is just as simple.
Let me know if you have any other questions, and feel free to drop by #docker on freenode(I'm keeb)
Thank you Nick. I will check it out. In particular I will be interested in how the load balancing happens with zero downtime for already connected clients.
There's one thing I don't understand well about docker: I saw people making Graphite containers and the like, but won't all data be erased when you close the container? It seems to me that any sort of persistent data storage on docker is very inconvenient.
Apparently I don't know how to use docker. You are right, I was just starting the base image every time. Starting it creates a new container which you can find with "ps -a", and you can start/attach to it later the way you said. Thanks for the tip, I need to find a good tutorial or write one.
But if you are putting something like a database in a Docker container, wouldn't you point the storage of the data files at something a little more permanent?
And for everything else that is just data processing in the stack, ephemeral storage isn't a bad thing (stops developers writing things to disk when they shouldn't).
> But if you are putting something like a database in a Docker container, wouldn't you point the storage of the data files at something a little more permanent?
Of course, but how? Can a docker container somehow write to the host fs? It couldn't, a few weeks ago.
Ah, you see this is what I haven't yet done... but I figured you'd just mount some network attached storage and use that for the data files.
Which may or may not be the host machine, and most likely would be the machine you configure to be next door with more focus on SSDs than CPU.
I also figured, but haven't checked, that Docker will eventually support Vagrant-style shared folders. But maybe this breaks the philosophical design of a container.
Yeah, but that's for production. For staging/dev machines it's not very convenient, and I really don't like special-casing things all the time depending on where I have to deploy... It adds a lot of complexity.
As LoonyPandora said below, apparently they added shared folders recently, so I'll play with that today.
What are you trying to ask? Docker is using LXC when running on Linux, and LXC is a container system that does not entail a significant performance penalty.
VirtualBox etc. only comes into the picture if you want to run it on a non-Linux box.
Docker runs on linux only because it uses LXC/cgroups/AUFS, all of which are unique to Linux. FreeBSD Jails and Solaris Zones have the same core concepts that docker uses.
- Flynn http://flynn.io
- Deis https://pypi.python.org/pypi/deis
Rethinkdb-as-a-service: http://tryrethink.info