# Discourse in a Docker container

DevFeed: [Discourse in a Docker container](<https://devfeed.tech/articles/discourse-in-a-docker-container-41329.md>)

Original publisher: [Read original article](<https://samsaffron.com/archive/2013/11/07/discourse-in-a-docker-container>)

Author: Sam Saffron

Published: 2013-11-07T23:45:04Z

Content type: article

Language: en

Sources: [Sam Saffron](<https://devfeed.tech/sources/sam-saffron.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [container](<https://devfeed.tech/tags/container.md>), [docker](<https://devfeed.tech/tags/docker.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [linux](<https://devfeed.tech/tags/linux.md>), [rails](<https://devfeed.tech/tags/rails.md>)

## AI overview

The article explains Docker's early container model and discusses using it to simplify Rails application deployment. It describes Docker images and Dockerfiles, Linux LXC-based containers, isolated processes, networking, AUFS storage, and the project's production-readiness and operating-system constraints at version 0.6.5.

## Source excerpt

Deploying Rails applications is something we all struggle with: You would think that years along we would have made some progress in this front, but no, deploying Rails is almost as complicated as it was back in the mongrel days. Yes, we have passenger, however, getting it installed and working with rvm/rbenv is a bit of a black art, and let us not mention daemonizing Sidekiq or Resque. Or, god forbid, configuring PostgreSQL. This is why we often outsource the task to application as a service providers. Last week I decided to spend some time experimenting with Docker What is Docker? an open source project to pack, ship and run any application as a lightweight container The concept is that developers and sysadmins can author simple images, usually authored using Dockerfiles that provide a pristine state that encapsulate an application. It uses all sorts of trickery to make authoring of these images a painless experience and contains a central repo where users can share images. Think of it as a VM without the performance penalty of having a VM. Docker containers run in the same kernel as the host unvirtualized. When a user launches a "container" a private unique IP is provisioned and the process runs isolated. Docker will launch a single process inside the container, however that process may spawn others. Docker (today: version 0.6.5) is a front end that drives Linux LXC containers and uses a copy-on-write storage engine built on AUFS. It is the "glue" that gives you a simple API to deal with containers and optionally run them in the background, persistently. Docker is built in golang, and has a very active community. Restrictions Docker version 0.6.5 is still not deemed "production ready", the technologies it wraps are considered production ready, however the APIs are changing rapidly with some radical changes to come later on. There are plans to extract the AUFS support and probably use lvm thin provisioning as the preferred storage backend. As it stands the only re