Fig: Fast, isolated development environments using Docker

We've open-sourced a tool that uses Docker to run your development environments with their dependencies automatically fetched and cleanly isolated. We're using it to develop Orchard, and loving it. It's called Fig.

fig logo

Fig is both a lightweight Vagrant and a next-level Foreman. Like Foreman, it runs your app's services and aggregates their log output in one place; like Vagrant, it makes your environment isolated and repeatable—and it runs your whole app, including the database.

To use it, write a fig.yml which describes how to build or retrieve each service's Docker image:

web:
  build: .
  links:
   - db
  ports:
   - 8000:8000
db:
  image: orchardup/postgresql

Then type fig up, and your app is running:

example fig run

You can also run one-off commands with fig run, set container options and do a whole lot more—see the docs for the lowdown.

Sick of manually setting up your environment for every new project, juggling multiple versions of all your databases, libraries and language interpreters? Give Fig a try, but be warned: it's hard to go back to developing normally afterwards.