I was with Docker from the very start, and so have playing with this for quite a while. Would be happy to hear more tips and improvements though!
HN user
dhrp
Co-founder of LeafCloud
Thatcher here, co-founder of LeafCloud. Happy to hear your questions!
Hi, Thatcher here, the author. Would love to hear what you think about it.
Thatcher here, Author of the article. LMK if you have any questions..
A lot of this has really been blocked by Google before; when they stopped interop with XMPP. XMPP was meant to cross company borders and allow video/media to be built on top of that (with something like RTP & h264).
And one of the things we should realize is that they do have real integrations with all the videoconferencing stuff.
Both of those features are only a matter of time.
I'm watching the keynote.
+1 for having a business model. Too often I see great tools disappear because they got acquired, ran out of funding or something. I'd love to see this be an example of a tool that makes enough money to sustain it's team.
I'm looking for arguments about whether we should switch over to a platform that is open.
Sounds like a prank machine to me
Yeah. The committing and layering stuff is not the easiest to grasp. There is actually a section on the docs that does a decent job explaining these concepts but it is a bit hidden: http://docs.docker.io/en/latest/terms/
Oh, and yes, I do work for dotCloud.
Ok. That's great. Then let me try to give you some examples #:
Imagine you have setup your SaaS to run from some containers (1 container with your web app, 1 container with your worker, 1 container with your queue and a database somewhere.
Now let's walk through a scenario for a significant new release of your web app:
1) Package your new web app, Launch it for testing (on the same host, cheap) to point to a testing database. 2) Fails? Rebuild, test immediately. 3) Happy? Now relaunch your container to connect to the production database 4) Everything works completely? Now re-route your traffic to the already warmed up container. Chances of failure? < 0.1%
Some other ideas: - Package your worker. Run it once (on the same host), more load? run it multiple times, run it on multiple servers. -- it is so much quicker and cheaper than spinning up virtual machines. - So your developer made some changes.. He packages it and you run it. It fails. You now just save the entire container including the last state, logs and everything exactly as you crashed it. And hand that back to him.
Hope it helps.
these examples are based on intended use, because right now the whole development is still moving so fast production deployments are no yet recommended.
Hi. Thanks! My personal take on where Docker is heading to? There are so many things people can do with this, it's hard to summarize.
What I personally care most about? As a designer ex-entrepreneur and front-end developer, the thing that gets me going most is the idea that I'm able to "just run" an application. No more difficult than from the Mac store. For example Trac (a wiki system), Wordpress, Django apps, Mailservers, torrent-servers. Basic stuff which just makes it easier for me to deploy my creations, and those of others.
It depends. Do you mind me asking, what is your background/profession? And have you deployed a virtual machine before to run an application?
Thank you for posting this answer. Indeed, I think the short answer is: It is not impossible, but there are limitations.
The creator here. Please let me know if you have any questions or comments!
Exactly, there is no longer a way to ignore designing your website in a responsive way. Luckily however, there are also more and more tools to design responsive websites. Check out froont.com for example.
Right. I can write a script to go from fresh installation to deploy in one command using Vagrant, Puppet, Chef, Ansible.
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.
I think this is pretty cool.
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
A very cool usecase!
"Have a weird build failure like a segmentation fault in the compiler? Publish the Docker image and have someone take a look! No need to take the builder offline while someone SSH's into it. "
In particular this notion of using it for a build environment, and then being able to share the EXACT problem with the build with other developers strikes me as a very interesting. I can imagine many build environments to benefit from such. Any failed build (in automation) can be handed to you as a chocolate on a platter.