
FaaS 是一个使用 Docker 构建无服务器函数的框架,原生支持指标收集。任何进程都可以打包为函数,使您能够处理各种 Web 事件,无需重复编写样板代码。
任何容器或 Docker 容器中的进程都可作为 FaaS 中的无服务器函数。使用 http://github.com/alexellis/faas-cli 可部署函数或从 Node.js、Python 等模板快速创建新函数。
以下示例展示 url_ping 函数(用 Python 编写),该函数连接远程 Web 服务器并返回响应的 HTTP 状态码。
函数代码
pythonimport requests def handle(req): r = requests.get(req, timeout=1) print(req + " => " + str(r.status_code))
handler.py
安装 CLI
bash$ curl -sSL https://cli.openfaas.com | sudo sh
也可通过 brew 安装 faas-cli
准备函数模板与示例
bash$ git clone https://github.com/alexellis/faas-cli $ cd faas-cli
定义函数(YAML 配置)
yamlprovider: name: faas gateway: http://localhost:8080 functions: url_ping: lang: python handler: ./sample/url_ping image: alexellis2/faas-urlping
示例 YAML 文件 - urlping.yaml
构建函数镜像
bash$ faas-cli -action build -f ./urlping.yaml
使用 ./sample/url_ping 中的 Python 处理器构建 Docker 镜像
部署函数
bash$ faas-cli -action deploy -f ./urlping.yaml
将新镜像部署到 YAML 文件中定义的网关
若网关位于远程或多主机 Swarm 中,可使用
faas-cli -action push将镜像推送到远程仓库或 Docker Hub
测试函数
bash$ curl -d "https://cli.openfaas.com" http://localhost:8080/function/url_ping/ https://cli.openfaas.com => 200
测试 URL https://cli.openfaas.com,返回状态码 200
https://github.com/alexellis/faas/tree/master/sample-functions 提供多种编程语言实现,可在 GitHub 仓库中查看。
FaaS 曾获 Dockercon 2017 "Cool Hacks" 竞赛奖项。
演示中使用的函数可在 https://github.com/alexellis/faas-dockercon/ 仓库中找到。
FaaS 最初于 1 月在博客中发布:Functions as a Service 博客文章
提供一键脚本帮助快速上手。可在 Docker Swarm 上通过 https://github.com/alexellis/faas/blob/master/docker-compose.yml 文件测试 FaaS 及示例函数。若使用 Kubernetes 集群,可从 https://github.com/alexellis/faas-netes 开始。
可在本地或免费社区 Docker 环境(play-with-docker.com)中使用:
API 网关门户截图(设计注重易用性):
!Portal
若您撰写了关于 FaaS 的博客,可通过 Pull Request 更新社区页面:
如需加入 FaaS 社区 Slack 频道与贡献者交流或获取帮助,可发送推文至 @alexellisuk 或在 GitHub 提交 issue。
FaaS 使用 Golang 编写,采用 MIT 许可证。欢迎提供反馈、测试功能或参与开发。可查看 https://github.com/alexellis/faas/blob/master/ROADMAP.md 或 https://github.com/alexellis/faas/issues%E3%80%82
curl 和 brew 的便捷安装Grafana 仪表板示例(展示 FaaS 自动扩展实时效果):

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务