今日主题:docker之fig开源项目。
概括地讲,fig是提供复杂容器应用的一键式部署工具,以下是网上拷贝过来的一个完整web应用的fig配置文件,配置项的详细定义在下一篇来介绍。
serf:
image: ctlc/serf
ports:
- 7373
- 7946
lb:
image: ctlc/haproxy
ports:
- 80:80
links:
- serf
environment:
HAPROXY_PASSWORD: qa1N76pWAri9
web:
image: ctlc/wordpress
ports:
- 80
environment:
DB_PASSWORD: qa1N76pWAri9
links:
- serf
- db
volumes:
- /local/path/to/wordpress:/app
db:
image: orchardup/mysql
ports:
- 3306
volumes:
- /mysql:/var/lib/mysql
environment:
MYSQL_DATABASE: wordpress
MYSQL_ROOT_PASSWORD: qa1N76pWAri9
从上面定义文件来看,fig有以下好处:
1、支持多容器应用;
2、重定义了相关配置项,比dockerfile更易理解;
3、把命令转化为配置; 不需要敲复杂的docker命令了;
【观点】
要实现类似fig类似的功能,用脚本可以非常容易实现,为什么开发fig呢? 我觉得有两点:
1、配置优于脚本的一点是易于被转换(配置文件定义是明确的),例如fig2coreos,通过这个工具把可以fig配置转换成systemd服务;
2、dockerfile的配置项不易被用户所理解,fig的配置项相对比较清晰易懂,易于使用;