本篇中将会使用开源工具Fig
Fig是什么?
简单的说就是对Docker的封装,从而方便我们构建应用的运行环境
它所做的事情是协调Docker上的各个Container之间的联系,并通过服务发现的方式将它们有机的组合成一个完整的系统
Fig使用Docker自带的link来实现服务发现,Fig会负责管理link的相关信息
Fig通过读取当前目录下的fig.yml文件来创建应用的运行环境
在fig.yml中需要定义不同的service
在Fig中service的概念:
标识的是一个个独立的组件,例如,Web应用,MySql等都可以定义为一个独立的service,并且service是可以横向扩展的
我们可以在service中直接指定image,也可以通过build配置项来运行时创建image
所有的service会被运行为Docker上的一个或多个Container
下图是一个fig.yml文件的内容
该fig.yml定义了两个service,分别是web和redis,在web中使用links将redis引用
build:. 表示在当前目录下进行build,要保证当前目录下有Dockerfile文件存在
在当前目录下使用fig up命令会根据当前的fig.yml文件来启动Container,并根据links配置信息将各个Container连接在一起
可以通过fig up {service name}来启动指定的service定义的Container
如果在当前目录下重复执行fig up执行,每次都会将原来的Container删除然后重新创建,可以通过–no-recreate参数来解决
fig ps的作用相当于docker ps
使用fig scale service=num的方式来扩展指定service的Container个数,如:fig scale web=10
将会创建10个web service对应的Container
未完待续…