While this is interesting, I was disappointed to see only one of the startups was something other than a PaaS for Docker (aside from the book). I'm really curious to hear more about how companies are using Docker in production.
I think Quay is more like GitHub for Docker, Shippable is more CI/CD for Docker, and the Memcached service is definitely not a PaaS. Along with the book, 4/10 of them are not like a PaaS for Docker.
Fair point. The PaaS statement was inaccurate. However, my point was that most were services for Docker. Of course this means they are "using" Docker, but they're only relevant insofar as other people are using Docker for other use cases, which is what I was really interested to see.
I use Docker in 'production' as the backend for an internal training tool. Docker improves my quality of life as a developer so much. Wrapping previously difficult to work with simulations into easily manageable and API driven containers is awesome!
We're using docker at ShareLaTeX to run the latex compilation. It lets us have lightweight isolated containers so that we can now let people do scary/cool things like run R code in a secure way.
This demonstrates the power a very good idea when it's open-sourced and marketed effectively. It's hard to believe that Docker has yet to celebrate its first birthday. The initial release was in March 2013.
I was speculating the other day that some sort of container-based virtualisation might be a feature of the server part of Windows 'Threshold'.
I'm sure Hyper-V does some sharing of memory pages related to the Windows kernel when running multiple Windows VMs (if they are the same version at least), but there's probably an opportunity for an approach that is lighterweight than VMs but still gives you a greater degree of isolation than just a managed boundary via the CLR.
I was vaguely aware that there was something in this space already... I think it used be known as Virtozzo? Anyway, I wonder how well it can work as a layer on top of the Windows OS rather than being integrated as I imagine only MS could do.
There has been an initiative inside of MSFT called project drawbridge which has in place for 4 years to do this. They have given up on it...the problem is isolation and there is not clean way to isolate registry. Azure was an attempt to do this and it ended up being super restrictive for any real world apps.
Yes, I'd love to, but what's the right place to start? I'm thinking Windows would need kernel modifications to make something like docker even possible on the platform.
There is existing software such as Parallels, Sandboxie, or iCore Virtual Accounts which do something like container virtualization on Windows, so it should be possible. I'm not really sure how they operate under the hood however.
> I'm thinking Windows would need kernel modifications to make something like docker even possible on the platform
If this is the case, then are we basically SOL with regard to docker on Windows? Unless Microsoft take it upon themselves to make that compatibility happen.
We building a more pluggable Docker for 1.0. The execution engine and a bunch of the components will be pluggable via API. You can then pop in an execution engine that runs on Windows and get the benefits of Docker.
hi,
I'm working as a tech lead in Shippable(https://shippable.com). The production use as specified by Docker is a set of guidelines that you should/must avoid for now, like not giving the sudo access inside the containers. Also, if the application running inside of the container itself has security holes than Docker really can't help in any way. You should take a look at this presentation by Jérôme Petazzoni (http://www.slideshare.net/jpetazzo/linux-containers-lxc-dock...) which makes the same point(and more).
Can someone explain what I can use docker for? For example could I create a web app with docker, and send that docker image as the product? How could I update the image remotely when it's running somewhere out there?
Yes, you can create a docker image of your product and publish it to a docker registry. Your customers can then pull the image from there and fire up containers. Docker.io doesn't offer private images yet, so you may want to run your own registry [1] if you need to restrict access.
Docker doesn't let you push updates to containers. I think the best you can do is to push a new image to your registry and ask your customers to pull and fire up new containers.
Exactly. I'm still struggling to find good use cases for containers over VMs. I get the instant on part but have yet to see a compelling use case that goes for container over VM.
I'm working on a project that has two different services running that talk to each other, a postgres and mysql database and an elasticsearch instance. Potentially both services may talk to the ES instance. With docker, I can run each of these things in a container and link them together. With a VM I'd either have a lot of VMs running or have everything on one host (and if I have everything on one host I can't just push this to production as we may want these things running on different machines).
Building them is extremely quick as intermediate build results are cached, and moving them about is similarly fast as I only have to push around diffs.
This isn't to say that containers are better than VMs, just that they're better for what I'm doing.
> I get the instant on part but have yet to see a compelling use case that goes for container over VM.
Looking at it the other way, what are the compelling reasons to go for VMs over containers? If they don't apply for your use case, then why not have something lighter and faster?
This might be a plug, but I do think resin.io fits the list. We have ported docker to ARM devices and are using it to build a dead easy way to program and deploy to things like the raspberry pi with a simple git push.
From their homepage I didn't get that ctl-c was an open source project; that's a good news to me.
I started to list a few Docker-related services in a Gist and I see some of them are not listed in the blog post: https://gist.github.com/noteed/6882636. And vice-versa, I will update my list too.
I'm not a startup but my project Reesd (https://reesd.com) uses a lot Docker and is not listed either (which is normal, it is right at its beginning).
Is the Fig description about hooking code and database together accurate ? Isn't it simply that one of your containers can be a database and Fig expose the `-link` flag, probably used with the container name "db" ?
I was looking at https://stackdock.com/ and for 5$ I get hardware wise what I get with DigitalOcean ... Except DO is a VPS, and this is dockers based. What should I use ? I've got MongoDB and nodejs running on my VPS, can I do similar with Stardock ?
36 comments
[ 3.0 ms ] story [ 86.6 ms ] threadFrom memory there are presentations or blog posts by engineers at Ebay, Mailgun, Cloudflare, Spotify, RelateIQ, Atlassian, Baidu, Yandex, etc.
I'm sure Hyper-V does some sharing of memory pages related to the Windows kernel when running multiple Windows VMs (if they are the same version at least), but there's probably an opportunity for an approach that is lighterweight than VMs but still gives you a greater degree of isolation than just a managed boundary via the CLR.
If this is the case, then are we basically SOL with regard to docker on Windows? Unless Microsoft take it upon themselves to make that compatibility happen.
Docker doesn't let you push updates to containers. I think the best you can do is to push a new image to your registry and ask your customers to pull and fire up new containers.
[1] https://github.com/dotcloud/docker-registry
Building them is extremely quick as intermediate build results are cached, and moving them about is similarly fast as I only have to push around diffs.
This isn't to say that containers are better than VMs, just that they're better for what I'm doing.
> I get the instant on part but have yet to see a compelling use case that goes for container over VM.
Looking at it the other way, what are the compelling reasons to go for VMs over containers? If they don't apply for your use case, then why not have something lighter and faster?
I started to list a few Docker-related services in a Gist and I see some of them are not listed in the blog post: https://gist.github.com/noteed/6882636. And vice-versa, I will update my list too.
I'm not a startup but my project Reesd (https://reesd.com) uses a lot Docker and is not listed either (which is normal, it is right at its beginning).
Is the Fig description about hooking code and database together accurate ? Isn't it simply that one of your containers can be a database and Fig expose the `-link` flag, probably used with the container name "db" ?