使用docker-compose在本地运行easyfaas服务
1.1.1 操作系统: linux: 内核4.0+
1.1.2 容器环境:
确保本地Docker服务正常运行,因easyfaas服务底层依赖cgroup/loop设备等linux底层特性建议优先使用Linux系统。
环境安装参考文档:
如总体架构图所述,easyfaas由4个组件构成,分别是 controller组件, funclet组件, runner-runtime组件,以及stubs模块构建的本地代码仓库组件func-registry。
您可以直接使用easyfaas发布的公共镜像,如果您本机无法访问公网, 可在能访问外网环境的服务器上下载并存储镜像文件到tar文件中,再将tar文件load至无公网的服务器。
主要配置在./scripts/docker-compose/compose-local/.env 文件,其中
- REGISTRY_EXPORT_PORT: mock本地函数代码仓库服务组件的服务端口
- FUNCTION_DATA_DIR: 本地函数代码目录
- easyfaas_REPO: 镜像仓库repo
- CONTROLLER_TAG: controller组件镜像tag, 完整镜像ID为${easyfaas_REPO}/controller:{$CONTROLLER_TAG}
- FUNCLET_TAG: funclet组件镜像tag, 完整镜像ID为${easyfaas_REPO}/mini-funclet:{$CONTROLLER_TAG}
- RUNTIME_TAG: runner-runtime组件镜像tag, 完整镜像ID为${easyfaas_REPO}/runner-runtime:{$CONTROLLER_TAG}
- REGISTRY_TAG: 本地mock函数仓库组件tag, 完整镜像ID为${easyfaas_REPO}//func-registry:{$CONTROLLER_TAG}
备注:您也可以跳过此步骤,直接运行脚本快速体验(确保端口号不能冲突)
运行如下命令启动服务,并运行docker ps查看组件是否正确运行: 其中controller组件容器,funclet组件容器及func-registry组件容器为常驻容器, 查看容器是否正常运行
$ cd ./scripts/docker-compose/compose-local/
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5bec1b3fd3e4 controller:demo1.0 "./controller --maxproc…" 3 days ago Up 3 days minikun_minikun_1
5082b7249d28 func-registry:demo1.0 "/stubs --port=8002 …" 3 days ago Up 3 days minikun_registry_1
$ 查看服务是否正常运行