本文说明了如何基于docker image, 给openwhisk action创建更复杂的runtime 环境。并描述了其步骤和一些注意事项, 以及现有的一些限制。
1 创建和调用 Docker actions
Openwhisk支持创建基于自定义的Docker image来作为Action的runtime, 利用这个特性我们就可以创建自己的docker image runtime来支持tensorflow相关的action的运行。自定义的image runtime可以是把源代码打包进去, 也可以在初始化时平台自动注入代码。使用自定义的运行时环境, 是针对需要较大的外部依赖的项目的标准解决方案, 例如tensorflow运行时或其它机器学习环境的支持。 (这也部分时因为action size在48M以内的限制)。
1.1 例子
OpenWhisk CLI 有一个 --docker 的选项来配置自定义的Docker运行时环境。语法如下:
wsk action create <ACTION_NAME> --docker <IMAGE> source.js
ps : 必须是在 Docker Hub. 上的一个公开镜像.
–docker 也可以不添加额外的代码来生成action, 例如:
wsk action create <ACTION_NAME> --docker <IMAGE>
在这种场景中,action的源代码可以在openwhisk冷启动运行时环境时注入。 容器运行时环境会直接处理平台的调用请求。
1.2 限制说明
自定义的镜像运行时必须实现 Action interface. 这是根据 交互协议 来传递调用请求到运行时环境。容器用暴露HTTP服务(8080)的方式, 分 /init 和 /ru