We use Docker to deploy on Aptible, and this makes our projects entirely self-contained. With a Dockerfile in the project directory, the entire build and runtime environment is now explicitly declared. With "git push aptible", we push the code to the production server, rebuild the project, and run it in one command.
Ask HN: How do you use Docker in production?
81–90 of 157 posts
Re: Ask HN: How do you use Docker in production?
#82Earlier quoted context omitted.
What value does Docker add if you are already running a VM? Are the laptops Linux, so Docker provides a lighter alternative to a full vm environment?
Docker also enforces immutability. With a VM there's always the temptation to manually fix any issue that arises, and if you don't have some bulletproof way to document that then you'll have issues when you go to recreate the environment on a new machine. Docker kind of forces you to solve the original problem via the dockerfile, which is what will spawn images for any future installs anyway.
So for my example If I have a role that specifies one instance of a a galera server. I have to config each one with the other servers in the pool. And each config will be dependent on the other server's config. So is Docker the first part (get the galera server instance running) and then there is some 2nd part that does the config so the instances in the cluster work together?
Re: Ask HN: How do you use Docker in production?
#83Re: Ask HN: How do you use Docker in production?
#84Earlier quoted context omitted.
How do you deal with connections that are in progress to the app server? If you just take it down, you're potentially throwing away active connections.
Yes, that's absolutely true and something we're aware of. It would of course be possible to solve, but would increase the complexity by a fair amount. It is also worth mentioning that it is a more back-end heavy service, than front-end heavy. Since each email migration runs isolated in its own Docker container, a given customer can generate 100s of Docker containers. Hence, given the relatively low volume of users on…
tedious, although my whole deploy-to-all-servers is a single command.
Re: Ask HN: How do you use Docker in production?
#85If Docker becomes sufficiently popular, it's going to put HUGE nails in the coffin of portability and the vibrancy of the UNIX ecosystem.
Re: Ask HN: How do you use Docker in production?
#86We 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?
#87Re: Ask HN: How do you use Docker in production?
#88with chef https://docs.getchef.com/containers.html
Re: Ask HN: How do you use Docker in production?
#89Earlier quoted context omitted.
Yes, that's absolutely true and something we're aware of. It would of course be possible to solve, but would increase the complexity by a fair amount. It is also worth mentioning that it is a more back-end heavy service, than front-end heavy. Since each email migration runs isolated in its own Docker container, a given customer can generate 100s of Docker containers. Hence, given the relatively low volume of users on…
ok thanks. I have several app servers and I take them out of nginx server list, stop it gracefully, git pull and configure (slow, I want to get rid of this step), put it back in nginx servers, move onto the next one. tedious, although my whole deploy-to-all-servers is a single command.
Once CoreOS becomes more stable, we're looking to move to it. The idea is then to use `etcd` to feed the load balancer (probably Nginx) with the appserver pool. That way you can easily add new servers and decommission old ones.
Re: Ask HN: How do you use Docker in production?
#90We're moving all of production in EC2 from an old CentOS 5 image managed by capistrano to CoreOS, with fleet deploying images built by the docker.io build service and private repo. I love it. Every week, we rebuild our base image starting with the latest debian:stable image, apply updates, and then our apps are built off of the latest base image. So distro security updates are automatically included with our next dep…