The Changelog

Open Source moves fast. Keep up.

The Why and How of Ansible and Docker

Many reading this might be asking, “Why don’t you just use Heroku?”

There is a lot of interest from the tech community in both Docker and Ansible, I am hoping that after reading this article you will share our enthusiasm. You will also gain a practical insight into using Ansible and Docker for setting up a complete server environment for a Rails application.

Docker can now run in Docker, in Docker, in Docker, in… #

It’s Dockerception! Docker can now run within Docker

One of the (many!) features of Docker 0.6 is the new “privileged” mode for containers. It allows you to run some containers with (almost) all the capabilities of their host machine, regarding kernel features and device access.
Among the (many!) possibilities of the “privileged” mode, you can now run Docker within Docker itself.

In that post, Jérôme also links out to his dind (Docker-in-Docker) repo at the tail end which includes the Dockerfile, the wrapper, and some extra documentation.

If you’re new to Docker, check out episode #89: Linux containers, Docker and dotCloud with Solomon Hykes

Deploy apps to your own mini-Heroku with Dokku #

dotCloud’s Docker — a project which makes managing Linux containers easy, previously covered here and discussed on episode #89 — is inspiring & enabling a bunch of open source Platforms as a Service (PaaS).

One of the first (and definitely the smallest) of these is Dokku by Jeff Lindsay.

Dokku weighs in at under 1,000 lines of Bash and offers the same git-push-based app deployment made famous by Heroku and emulated by many PaaS providers. After installation and some configuration, you can deploy to your own mini-Heroku using one of the many supported buildpacks.

Here’s what deploying Heroku’s example Node.js app looks like with Dokku:

$ cd node-js-sample
$ git remote add progrium
$ git push progrium master
Counting objects: 296, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (254/254), done.
Writing objects: 100% (296/296), 193.59 KiB, done.
Total 296 (delta 25), reused 276 (delta 13)
remote: -----> Building node-js-app ...
remote:        Node.js app detected
remote: -----> Resolving engine versions

... blah blah blah ...

remote: -----> Application deployed:

It’s exciting to see how much can be done with so little code. Dokku is MIT licensed and hosted on GitHub.

Support Flynn to help make PaaS open source #

A few shows back Andrew and I talked about Linux containers, Docker and dotCloud with Solomon Hykes — and now Flynn is bringing PaaS to open source (powered by Docker).

Flynn is a Heroku-inspired system that simplifies deploying and maintaining applications. Instead of using complex configuration management systems, Flynn allows self-serve management of containerized deployments, making life easier for ops and developers.

Flynn provides a set of “PaaS Lego” including an API that orchestrates the management of containerized services across a cluster. These services can be anything from a Rails app to PostgreSQL to an ETL job. A variety of deployment systems and applications can be built on top of the API. For easy out-of-the-box deployment, Flynn includes Heroku-style “git push” deployment and management tools that utilize buildpacks.

Flynn will be 100% open source, BSD licensed, and developed in the open on GitHub.

Support Flynn!

#89: Docker, LXC and dotCloud with Solomon Hykes

Adam and Andrew talk about linux containers, Docker, and dotCloud with Solomon Hykes – Founder & CEO of DotCloud and the creator of Docker. You can tune-in LIVE on Tuesday’s at 5pm CST. The Changelog (podcast) is moving to 5by5! dotCloud – One home for all your apps Solomon Hykes (solomonstre) on Twitter Docker – […]

#85: We’re back and we’re LIVE!

Adam Stacoviak, Andrew Thorp, Steve Klabnik, Kenneth Reitz and Jerod Santo take the show live for the first time since August 8th, 2012. Tune in LIVE every Tuesday at 3pm PT / 6pm ET. We’re live every Tuesday! Hack in style with your very own Changelog tee! We are now member supported! Groovy on […]