openwhisk/exampleApache OpenWhisk是一款开源分布式Serverless计算平台,可响应事件触发执行函数(function),并自动管理底层基础设施、服务器资源及弹性扩展。本Docker镜像是Apache OpenWhisk的示例镜像,特别包含了基于C语言编写的客户端(原生代码),用于演示原生代码函数在OpenWhisk平台上的运行能力。
该镜像为Apache OpenWhisk runtime项目的构建产物,源码及构建信息可参考GitHub仓库:
[***]
可通过Docker Hub拉取镜像(具体标签以仓库最新版本为准):
bashdocker pull apache/openwhisk-runtime-docker:c # 示例标签,实际请替换为最新版本
docker run)以下为运行示例,需根据实际环境调整参数:
bashdocker run -d \ --name openwhisk-c-example \ -p 8080:8080 \ # 映射端口(若需外部访问) -e OPENWHISK_API_HOST="[***]" \ # OpenWhisk控制器API地址 -e OPENWHISK_AUTH="23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP" \ # 平台认证密钥(示例值,需替换为实际密钥) -e FUNCTION_NAME="c-native-function" \ # 待执行的C函数名称 apache/openwhisk-runtime-docker:c
创建docker-compose.yml文件,配置如下(需配合OpenWhisk控制器、数据库等组件,此处为简化示例):
yamlversion: '3' services: openwhisk-c-example: image: apache/openwhisk-runtime-docker:c container_name: openwhisk-c-example ports: - "8080:8080" environment: - OPENWHISK_API_HOST=[***] - OPENWHISK_AUTH=23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - FUNCTION_NAME=c-native-function depends_on: - openwhisk-controller # 依赖OpenWhisk控制器服务(需单独配置)
启动命令:
bashdocker-compose up -d
musl等静态链接库避免依赖问题)。function.json)打包为ZIP文件。bash# 进入容器执行客户端命令(示例) docker exec -it openwhisk-c-example ./c-client deploy --function c-native-function --zip function.zip
bashcurl -X POST http://localhost:8080/api/v1/namespaces/_/actions/c-native-function -H "Authorization: Basic $(echo -n "23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP" | base64)" -d '{"payload": "test"}'
| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
OPENWHISK_API_HOST | OpenWhisk控制器API地址 | http://localhost:8080 | [***] |
OPENWHISK_AUTH | 平台认证密钥(格式:username:password) | 无(需用户提供) | 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:xxx |
FUNCTION_NAME | 待执行的C函数名称 | default-function | c-native-function |
LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO | DEBUG |
Docker Hub中标记为“OpenWhisk”的项目镜像可能包含开发阶段的中间产物及标记版本的便捷二进制文件,不应被视为官方发布的正式 artifacts。 正式发布版本请以Apache OpenWhisk官方网站及GitHub仓库的发布信息为准。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务