6 ms·
Does anybody know of any Chef/Puppet/Ansible/Salt like service for Docker containers? Yes, I understand that Dockers are easily reproducible and you throw them
by KurtMueller 12y ago
Does anybody know of any Chef/Puppet/Ansible/Salt like service for Docker containers? Yes, I understand that Dockers are easily reproducible and you throw them away and replace them after updating its configuration.
However, there has to be something to manage the docker containers themselves - I imagine after 10 or so container sitting on a vm, it could get unruly to manage by hand.
Also, I've listened to speakers that mention long lasting services (like a database) should be handled differently in Dockerland - however, nobody I've listened to has spoken extensively about it.
- lukebennett 12y agoThis is an area where there's a lot of growth in tools/services/approaches. A couple to start you off with are Fig[1] (acquired last year by Docker themselves) and Shipyard[2]. [1] http://www.fig.sh/ http://www.fig.sh/ [2] http://shipyard-project.com/ http://shipyard-project.com/
- bkeroack 12y agoI believe you're looking for something like http://packer.io http://packer.io
- mikexstudios 12y agoI've been using Chef + the chef-docker cookbook (https://github.com/bflad/chef-docker https://github.com/bflad/chef-docker) to setup docker containers.
- simple10 12y agoWe have a nice Docker dev + production automation system that we developed for early Airstack customers. It uses Vagrant to manage VMs for both local dev and remote dev|test|prod. Then Salt to install Docker and Fig on the VM and run Heroku-like commands through salt states. The fig.yml is controlled by salt to allow jinja scripting of variables like RAILS_ENV, databases, etc. It works well. Clean separation of concerns between Vagrant (VM mgmt), Salt (provisioning and controller), and Docker (code) goes a long way towards a creating a pleasant DevOps experience. In dev mode, we share local folders (./app) into the VM (/srv/app) and bind mount the VM folder into containers. In prod, we rsync code to the VM and bind mount into the containers. For gems and other dependencies, we bundle them in the VM and bind mount them into Docker containers (non-trivial due to path issues) for both dev and prod. This flow makes it a lot more intuitive for devs who are used to running everything on their laptops. Code is still edited locally, but to update gems, a dev just runs `make bundle` instead of `bundle install` to trigger bundling in the VM. We're planning on open sourcing parts of the system when we have a chance to finish the documentation. In the meantime, feel free to reach out if you want early access. Email on github[1]. [1] https://github.com/simple10 https://github.com/simple10
- jarin 12y agoAside from the aforementioned Fig, Shipyard, etc., here are a few more I've got bookmarked (i.e. I cannot vouch for how good they are): http://panamax.io http://panamax.io https://www.tutum.co https://www.tutum.co https://github.com/nitrous-io/tug https://github.com/nitrous-io/tug https://www.digitalocean.com/community/tutorials/how-to-use-fleet-and-fleetctl-to-manage-your-coreos-cluster https://www.digitalocean.com/community/tutorials/how-to-use-... https://github.com/spotify/helios https://github.com/spotify/helios