docker管理工具 Fig 配置文件fig.yml的详解

fig.yml 

使用fig.yml更方便的定义 docker服务 和操作使用docker。

你不必再为docker复杂的命令和配置发愁

image

指定要使用的image

image: ubuntu

image: orchardup/postgresql
image: a4bc65fd

build

docker file的所在目录指定

build: /path/to/build/dir

command

重写默认执行的命令

command: bundle exec thin -p 3000

links

指定需要的image镜像支持

links:

- db
- db:database
- redis

可以在host文件中定义这些服务的别名:

172.17.2.186  db

172.17.2.186 database
172.17.2.187 redis

同样可以是用环境变量

ports

指定被使用的端口

Note: 由于yml的解析原因,建议是用字符串填写端口

ports:

- "3000"
- "8000:8000"
- "49100:22"
- "127.0.0.1:8001:8001"

expose

指定服务转发端口

expose:

- "3000"
- "8000"

volumes

指定要被挂在的文件

volumes:

- /var/lib/mysql
- cache/:/tmp/cache
- ~/configs:/etc/configs/:ro

volumes_from

从其他容器中挂载服务所需文件

volumes_from:

- service_name
- container_name

environment

指定环境变量

environment:

RACK_ENV: development
SESSION_SECRET:

environment:
- RACK_ENV=development
- SESSION_SECRET

net

指定网络模式

net: "bridge"

net: "none"
net: "container:[name or id]"
net: "host"

dns

自定义dns

dns: 8.8.8.8

dns:
- 8.8.8.8
- 9.9.9.9

working_dir, entrypoint, user, hostname, domainname, mem_limit, privileged

上述和docker run指定的项一样

working_dir: /code

entrypoint: /code/entrypoint.sh
user: postgresql

hostname: foo
domainname: foo.com

mem_limit: 1000000000
privileged: true