Merge pull request #1575 from moxiegirl/fix-yaml-code

Updating from three ticks to code block
This commit is contained in:
Aanand Prasad 2015-06-19 11:55:57 -07:00
commit 37ee6b0c19
1 changed files with 116 additions and 171 deletions

View File

@ -24,11 +24,9 @@ specify them again in `docker-compose.yml`.
Tag or partial image ID. Can be local or remote - Compose will attempt to Tag or partial image ID. Can be local or remote - Compose will attempt to
pull if it doesn't exist locally. pull if it doesn't exist locally.
```
image: ubuntu image: ubuntu
image: orchardup/postgresql image: orchardup/postgresql
image: a4bc65fd image: a4bc65fd
```
### build ### build
@ -38,9 +36,7 @@ itself. This directory is also the build context that is sent to the Docker daem
Compose will build and tag it with a generated name, and use that image thereafter. Compose will build and tag it with a generated name, and use that image thereafter.
```
build: /path/to/build/dir build: /path/to/build/dir
```
### dockerfile ### dockerfile
@ -48,17 +44,13 @@ Alternate Dockerfile.
Compose will use an alternate file to build with. Compose will use an alternate file to build with.
```
dockerfile: Dockerfile-alternate dockerfile: Dockerfile-alternate
```
### command ### command
Override the default command. Override the default command.
```
command: bundle exec thin -p 3000 command: bundle exec thin -p 3000
```
<a name="links"></a> <a name="links"></a>
### links ### links
@ -67,21 +59,17 @@ Link to containers in another service. Either specify both the service name and
the link alias (`SERVICE:ALIAS`), or just the service name (which will also be the link alias (`SERVICE:ALIAS`), or just the service name (which will also be
used for the alias). used for the alias).
```
links: links:
- db - db
- db:database - db:database
- redis - redis
```
An entry with the alias' name will be created in `/etc/hosts` inside containers An entry with the alias' name will be created in `/etc/hosts` inside containers
for this service, e.g: for this service, e.g:
```
172.17.2.186 db 172.17.2.186 db
172.17.2.186 database 172.17.2.186 database
172.17.2.187 redis 172.17.2.187 redis
```
Environment variables will also be created - see the [environment variable Environment variables will also be created - see the [environment variable
reference](env.md) for details. reference](env.md) for details.
@ -93,29 +81,23 @@ of Compose, especially for containers that provide shared or common services.
`external_links` follow semantics similar to `links` when specifying both the `external_links` follow semantics similar to `links` when specifying both the
container name and the link alias (`CONTAINER:ALIAS`). container name and the link alias (`CONTAINER:ALIAS`).
```
external_links: external_links:
- redis_1 - redis_1
- project_db_1:mysql - project_db_1:mysql
- project_db_1:postgresql - project_db_1:postgresql
```
### extra_hosts ### extra_hosts
Add hostname mappings. Use the same values as the docker client `--add-host` parameter. Add hostname mappings. Use the same values as the docker client `--add-host` parameter.
```
extra_hosts: extra_hosts:
- "somehost:162.242.195.82" - "somehost:162.242.195.82"
- "otherhost:50.31.209.229" - "otherhost:50.31.209.229"
```
An entry with the ip address and hostname will be created in `/etc/hosts` inside containers for this service, e.g: An entry with the ip address and hostname will be created in `/etc/hosts` inside containers for this service, e.g:
```
162.242.195.82 somehost 162.242.195.82 somehost
50.31.209.229 otherhost 50.31.209.229 otherhost
```
### ports ### ports
@ -127,46 +109,38 @@ port (a random host port will be chosen).
> parse numbers in the format `xx:yy` as sexagesimal (base 60). For this reason, > parse numbers in the format `xx:yy` as sexagesimal (base 60). For this reason,
> we recommend always explicitly specifying your port mappings as strings. > we recommend always explicitly specifying your port mappings as strings.
```
ports: ports:
- "3000" - "3000"
- "8000:8000" - "8000:8000"
- "49100:22" - "49100:22"
- "127.0.0.1:8001:8001" - "127.0.0.1:8001:8001"
```
### expose ### expose
Expose ports without publishing them to the host machine - they'll only be Expose ports without publishing them to the host machine - they'll only be
accessible to linked services. Only the internal port can be specified. accessible to linked services. Only the internal port can be specified.
```
expose: expose:
- "3000" - "3000"
- "8000" - "8000"
```
### volumes ### volumes
Mount paths as volumes, optionally specifying a path on the host machine Mount paths as volumes, optionally specifying a path on the host machine
(`HOST:CONTAINER`), or an access mode (`HOST:CONTAINER:ro`). (`HOST:CONTAINER`), or an access mode (`HOST:CONTAINER:ro`).
```
volumes: volumes:
- /var/lib/mysql - /var/lib/mysql
- cache/:/tmp/cache - cache/:/tmp/cache
- ~/configs:/etc/configs/:ro - ~/configs:/etc/configs/:ro
```
### volumes_from ### volumes_from
Mount all of the volumes from another service or container. Mount all of the volumes from another service or container.
```
volumes_from: volumes_from:
- service_name - service_name
- container_name - container_name
```
### environment ### environment
@ -175,7 +149,6 @@ Add environment variables. You can use either an array or a dictionary.
Environment variables with only a key are resolved to their values on the Environment variables with only a key are resolved to their values on the
machine Compose is running on, which can be helpful for secret or host-specific values. machine Compose is running on, which can be helpful for secret or host-specific values.
```
environment: environment:
RACK_ENV: development RACK_ENV: development
SESSION_SECRET: SESSION_SECRET:
@ -183,7 +156,6 @@ environment:
environment: environment:
- RACK_ENV=development - RACK_ENV=development
- SESSION_SECRET - SESSION_SECRET
```
### env_file ### env_file
@ -194,22 +166,18 @@ If you have specified a Compose file with `docker-compose -f FILE`, paths in
Environment variables specified in `environment` override these values. Environment variables specified in `environment` override these values.
```
env_file: .env env_file: .env
env_file: env_file:
- ./common.env - ./common.env
- ./apps/web.env - ./apps/web.env
- /opt/secrets.env - /opt/secrets.env
```
Compose expects each line in an env file to be in `VAR=VAL` format. Lines Compose expects each line in an env file to be in `VAR=VAL` format. Lines
beginning with `#` (i.e. comments) are ignored, as are blank lines. beginning with `#` (i.e. comments) are ignored, as are blank lines.
```
# Set Rails/Rack environment # Set Rails/Rack environment
RACK_ENV=development RACK_ENV=development
```
### extends ### extends
@ -222,17 +190,14 @@ Here's a simple example. Suppose we have 2 files - **common.yml** and
**common.yml** **common.yml**
```
webapp: webapp:
build: ./webapp build: ./webapp
environment: environment:
- DEBUG=false - DEBUG=false
- SEND_EMAILS=false - SEND_EMAILS=false
```
**development.yml** **development.yml**
```
web: web:
extends: extends:
file: common.yml file: common.yml
@ -245,7 +210,6 @@ web:
- DEBUG=true - DEBUG=true
db: db:
image: postgres image: postgres
```
Here, the `web` service in **development.yml** inherits the configuration of Here, the `web` service in **development.yml** inherits the configuration of
the `webapp` service in **common.yml** - the `build` and `environment` keys - the `webapp` service in **common.yml** - the `build` and `environment` keys -
@ -262,7 +226,6 @@ Add metadata to containers using [Docker labels](http://docs.docker.com/userguid
It's recommended that you use reverse-DNS notation to prevent your labels from conflicting with those used by other software. It's recommended that you use reverse-DNS notation to prevent your labels from conflicting with those used by other software.
```
labels: labels:
com.example.description: "Accounting webapp" com.example.description: "Accounting webapp"
com.example.department: "Finance" com.example.department: "Finance"
@ -272,7 +235,6 @@ labels:
- "com.example.description=Accounting webapp" - "com.example.description=Accounting webapp"
- "com.example.department=Finance" - "com.example.department=Finance"
- "com.example.label-with-empty-value" - "com.example.label-with-empty-value"
```
### log driver ### log driver
@ -282,27 +244,22 @@ Allowed values are currently ``json-file``, ``syslog`` and ``none``. The list wi
The default value is json-file. The default value is json-file.
```
log_driver: "json-file" log_driver: "json-file"
log_driver: "syslog" log_driver: "syslog"
log_driver: "none" log_driver: "none"
```
### net ### net
Networking mode. Use the same values as the docker client `--net` parameter. Networking mode. Use the same values as the docker client `--net` parameter.
```
net: "bridge" net: "bridge"
net: "none" net: "none"
net: "container:[name or id]" net: "container:[name or id]"
net: "host" net: "host"
```
### pid ### pid
```
pid: "host" pid: "host"
```
Sets the PID mode to the host PID mode. This turns on sharing between Sets the PID mode to the host PID mode. This turns on sharing between
container and the host operating system the PID address space. Containers container and the host operating system the PID address space. Containers
@ -313,64 +270,53 @@ containers in the bare-metal machine's namespace and vise-versa.
Custom DNS servers. Can be a single value or a list. Custom DNS servers. Can be a single value or a list.
```
dns: 8.8.8.8 dns: 8.8.8.8
dns: dns:
- 8.8.8.8 - 8.8.8.8
- 9.9.9.9 - 9.9.9.9
```
### cap_add, cap_drop ### cap_add, cap_drop
Add or drop container capabilities. Add or drop container capabilities.
See `man 7 capabilities` for a full list. See `man 7 capabilities` for a full list.
```
cap_add: cap_add:
- ALL - ALL
cap_drop: cap_drop:
- NET_ADMIN - NET_ADMIN
- SYS_ADMIN - SYS_ADMIN
```
### dns_search ### dns_search
Custom DNS search domains. Can be a single value or a list. Custom DNS search domains. Can be a single value or a list.
```
dns_search: example.com dns_search: example.com
dns_search: dns_search:
- dc1.example.com - dc1.example.com
- dc2.example.com - dc2.example.com
```
### devices ### devices
List of device mappings. Uses the same format as the `--device` docker List of device mappings. Uses the same format as the `--device` docker
client create option. client create option.
```
devices: devices:
- "/dev/ttyUSB0:/dev/ttyUSB0" - "/dev/ttyUSB0:/dev/ttyUSB0"
```
### security_opt ### security_opt
Override the default labeling scheme for each container. Override the default labeling scheme for each container.
```
security_opt: security_opt:
- label:user:USER - label:user:USER
- label:role:ROLE - label:role:ROLE
```
### working\_dir, entrypoint, user, hostname, domainname, mac\_address, mem\_limit, privileged, restart, stdin\_open, tty, cpu\_shares, cpuset, read\_only ### working\_dir, entrypoint, user, hostname, domainname, mac\_address, mem\_limit, privileged, restart, stdin\_open, tty, cpu\_shares, cpuset, read\_only
Each of these is a single value, analogous to its Each of these is a single value, analogous to its
[docker run](https://docs.docker.com/reference/run/) counterpart. [docker run](https://docs.docker.com/reference/run/) counterpart.
```
cpu_shares: 73 cpu_shares: 73
cpuset: 0,1 cpuset: 0,1
@ -392,7 +338,6 @@ stdin_open: true
tty: true tty: true
read_only: true read_only: true
```
## Compose documentation ## Compose documentation