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