We're using Docker to solve these kinds of problems: - Running Jenkins slaves for some acceptance/integration tests that runs in the browser, previously we had to configure multiple chromedrivers to spin up on different ports or be stuck running 1 test per machine. Now we have 6 machines (down from 9) which runs 6 slaves each, so we can parallelize our tests as 36 tests run concurrently. That has significantly improv…
Ask HN: How do you use Docker in production?
101–110 of 157 posts
Re: Ask HN: How do you use Docker in production?
#102Earlier quoted context omitted.
In typical virtualisation + config management you specify a base image and bunch of config files and commands. In a Dockerfile you specify a base image and commands, may often invoke a config management tool. How is using Docker more declarative?
If you take the steps for, say, AWS, of building a new AMI for every role you have, then it's pretty much the same. (but in my experience with building AMI's, that process is way too slow compared to Docker) Docker becomes closer to declarative when you build static Docker images for every role and rebuild for every change and re-deploy. Even more so when your deployment is based on a tool like Fleet that declarative…
http://zwischenzugs.wordpress.com/2014/08/09/using-shutit-an...
http://zwischenzugs.wordpress.com/2014/09/15/using-shutit-an...
Re: Ask HN: How do you use Docker in production?
#103Earlier quoted context omitted.
Yes, very much so. In fact, our goal is to have NixOS based containers. Right now, we're using Debian as the base image, and there's /no/ guarantee that the versions of software installed are consistent (since Docker caches based on the line in a Dockerfile, rather than what's actually installed). With Nix, we can have version guarantees in all of our Docker images--including the cached images.
Well sure there can be a guarantee. `RUN apt-get install some_package= ` If you want a newer version, update the Dockerfile with the version you want.
Re: Ask HN: How do you use Docker in production?
#104Re: Ask HN: How do you use Docker in production?
#105We use docker for: - running graphite (can't say it was less pain launching it, since Dockerfile was outdated a bit, and I also had to additionally figure out persistency issues, but overall I'm happy it's all virtualized and not living on server itself) - building our haskell projects for specific feature (your run a container per feature, this way you omit pain switching between features when you need to build one)…
Re: Ask HN: How do you use Docker in production?
#106In essence, Docker makes almost no assumptions about the app’s next home. Docker apps care about where they are even less than twelve-factor apps. They can be passed to and fro across servers—and, more importantly, across virtualization platforms—and everything needed to run them (besides the OS) comes along for the ride.
Re: Ask HN: How do you use Docker in production?
#107Earlier quoted context omitted.
Very interesting. I'm curious, have you considered nixos?
Yes, very much so. In fact, our goal is to have NixOS based containers. Right now, we're using Debian as the base image, and there's /no/ guarantee that the versions of software installed are consistent (since Docker caches based on the line in a Dockerfile, rather than what's actually installed). With Nix, we can have version guarantees in all of our Docker images--including the cached images.
I understand all their philosophy, but they should allow for flexible runtime dependencies without the need for rebuilding packages. Perhaps with a second hash or something, to sign dependencies.
Re: Ask HN: How do you use Docker in production?
#108Docker explicitly violates the principles of the Twelve-Factor App. Docker apps don’t rely on any external environment. In fact, Docker demands that you store all config values, dependencies, everything inside of the container itself. Apps communicate with the rest of the world via ports and via Docker itself. The trade-off is that apps become a little bit bulkier (though not significantly), but the benefit is apps b…
For reference: http://12factor.net/
Re: Ask HN: How do you use Docker in production?
#109I used Docker to solve a somewhat unconventional problem for a client last week. They have a Rails application that needs to be deployed in two vastly different situations: * a Windows server, disconnected from the internet * about 10 laptops, intermittently connected to the internet Docker let us build the application once and deploy it in both scenarios with much less pain than the current situation, which basicall…
Re: Ask HN: How do you use Docker in production?
#110- Build agents for TeamCity, this was one of the first scenarios and it's been amazingly helpful so far.
- Building third-party binaries in a reproducible environment
- Running bioinformatics pipelines in consistent environments (using the above tools)
- Circumventing the painfully inept IT department to give people in my group easy access to various tools
I've also been contemplating building a Docker-based HPC cluster for a while now, though unfortunately I'm currently lacking support to make that happen.