mirror of https://github.com/docker/compose.git
76 lines
2.5 KiB
Markdown
76 lines
2.5 KiB
Markdown
Fig
|
|
===
|
|
|
|
[![Build Status](https://travis-ci.org/orchardup/fig.png?branch=master)](https://travis-ci.org/orchardup/fig)
|
|
[![PyPI version](https://badge.fury.io/py/fig.png)](http://badge.fury.io/py/fig)
|
|
|
|
Fast, isolated development environments using Docker.
|
|
|
|
Define your app's environment with Docker so it can be reproduced anywhere:
|
|
|
|
FROM orchardup/python:2.7
|
|
ADD . /code
|
|
WORKDIR /code
|
|
RUN pip install -r requirements.txt
|
|
CMD python app.py
|
|
|
|
Define the services that make up your app so they can be run together in an isolated environment:
|
|
|
|
```yaml
|
|
web:
|
|
build: .
|
|
links:
|
|
- db
|
|
ports:
|
|
- "8000:8000"
|
|
- "49100:22"
|
|
db:
|
|
image: orchardup/postgresql
|
|
```
|
|
|
|
(No more installing Postgres on your laptop!)
|
|
|
|
Then type `fig up`, and Fig will start and run your entire app:
|
|
|
|
![example fig run](https://orchardup.com/static/images/fig-example-large.f96065fc9e22.gif)
|
|
|
|
There are commands to:
|
|
|
|
- start, stop and rebuild services
|
|
- view the status of running services
|
|
- tail running services' log output
|
|
- run a one-off command on a service
|
|
|
|
Fig is a project from [Orchard](https://orchardup.com), a Docker hosting service. [Follow us on Twitter](https://twitter.com/orchardup) to keep up to date with Fig and other Docker news.
|
|
|
|
Installation and documentation
|
|
------------------------------
|
|
|
|
Full documentation is available on [Fig's website](http://orchardup.github.io/fig/).
|
|
|
|
Running the test suite
|
|
----------------------
|
|
|
|
$ script/test
|
|
|
|
Building OS X binaries
|
|
---------------------
|
|
|
|
$ script/build-osx
|
|
|
|
Note that this only works on Mountain Lion, not Mavericks, due to a [bug in PyInstaller](http://www.pyinstaller.org/ticket/807).
|
|
|
|
Contributing to Fig
|
|
-------------------
|
|
|
|
If you're looking contribute to [Fig](http://orchardup.github.io/fig/)
|
|
but you're new to the project or maybe even to Python, here are the steps
|
|
that should get you started.
|
|
|
|
1. Fork [https://github.com/orchardup/fig](https://github.com/orchardup/fig) to your username. kvz in this example.
|
|
1. Clone your forked repository locally `git clone git@github.com:kvz/fig.git`.
|
|
1. Enter the local directory `cd fig`.
|
|
1. Set up a development environment `python setup.py develop`. That will install the dependencies and set up a symlink from your `fig` executable to the checkout of the repo. So from any of your fig projects, `fig` now refers to your development project. Time to start hacking : )
|
|
1. Works for you? Run the test suite via `./scripts/test` to verify it won't break other usecases.
|
|
1. All good? Commit and push to GitHub, and submit a pull request.
|