compose/docs/yml.md

56 lines
1.7 KiB
Markdown
Raw Normal View History

2014-01-27 16:03:21 +01:00
---
layout: default
title: fig.yml reference
---
fig.yml reference
=================
Each service defined in `fig.yml` must specify exactly one of `image` or `build`. Other keys are optional, and are analogous to their `docker run` command-line counterparts.
As with `docker run`, options specified in the Dockerfile (e.g. `CMD`, `EXPOSE`, `VOLUME`, `ENV`) are respected by default - you don't need to specify them again in `fig.yml`.
```yaml
-- Tag or partial image ID. Can be local or remote - Fig will attempt to pull
-- if it doesn't exist locally.
2014-01-27 16:03:21 +01:00
image: ubuntu
image: orchardup/postgresql
image: a4bc65fd
-- Path to a directory containing a Dockerfile. Fig will build and tag it with
-- a generated name, and use that image thereafter.
2014-01-27 16:03:21 +01:00
build: /path/to/build/dir
-- Override the default command.
command: bundle exec thin -p 3000
2014-03-03 18:58:35 +01:00
-- Link to containers in another service. Optionally specify an alternate name
-- for the link, which will determine how environment variables are prefixed,
-- e.g. "db" -> DB_1_PORT, "db:database" -> DATABASE_1_PORT
2014-01-27 16:03:21 +01:00
links:
- db
2014-03-03 18:58:35 +01:00
- db:database
2014-01-27 16:03:21 +01:00
- redis
-- Expose ports. Either specify both ports (HOST:CONTAINER), or just the
-- container port (a random host port will be chosen).
-- Note: When mapping ports in the HOST:CONTAINER format, you may experience
-- erroneous results when using a container port lower than 60, because YAML
-- will parse numbers in the format "xx:yy" as sexagesimal (base 60). For
-- this reason, we recommend always explicitly specifying your port mappings
-- as strings.
2014-01-27 16:03:21 +01:00
ports:
- "3000"
- "8000:8000"
- "49100:22"
2014-01-27 16:03:21 +01:00
-- Map volumes from the host machine (HOST:CONTAINER).
volumes:
- cache/:/tmp/cache
-- Add environment variables.
environment:
RACK_ENV: development
```