本文介绍如何在函数计算控制台上或使用Funcraft工具创建Custom Container Runtime函数。
前提条件
使用控制台创建
- 将自己的函数镜像推送至默认实例镜像仓库。
假设,函数计算地域(Region)为深圳,镜像仓库名称为nodejs-express。
cd /tmp git clone https://github.com/awesome-fc/custom-container-docs.git && cd custom-container-docs/nodejsexpress # 指定ACR镜像地址。 export IMAGE_NAME="your ACR image name" # e.g. registry.cn-shenzhen.aliyuncs.com/fc-demo/nodejs-express:v0.2 docker build -t $IMAGE_NAME . docker push $IMAGE_NAME
- 创建服务并为服务设置权限。
- 创建函数。
本文以创建事件函数为例,创建HTTP函数的参数设置类似。
- 登录函数计算控制台。
- 在顶部菜单栏,选择地域。
- 在左侧导航栏,单击服务/函数。
- 选择新增函数 > 事件函数 > 配置部署。
- 在配置函数区域,填写函数相关信息,然后单击完成。
参数 操作 所在服务 在下拉列表中选择步骤2中创建的服务。 函数名称 在文本框中填写自定义的函数名称。 运行环境 在下拉列表中选择custom-container。 函数实例类型 在下拉列表中根据实际需要选择函数实例类型,取值: - 弹性实例
- 性能实例
实例规格的详细内容请参见实例规格及使用模式。
容器镜像 在文本框中填写容器镜像的地址。 建议填写VPC网络地址registry-vpc.Endpoint,例如registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1。
Command 在文本框中填写启动命令,例如 ["/code/myserver"]
。该参数为可选参数,如果不填写,则默认使用镜像中的Entrypoint/CMD。
Args 在文本框中填写参数,例如 ["-arg1", "value1"]
。该参数为可选参数,如果不填写,则默认使用镜像中的CMD。
函数执行内存 在下拉列表中选择函数执行需要的内存大小,内存的设置不能小于512 MB。 超时时间 在文本框中输入请求超时时间。 单实例并发度 在文本框中输入单实例并发度。 更多信息请参见单实例多并发简介。
监听端口 在文本框中填写监听端口。 该参数为可选参数,如果不填写,则默认端口为9000。您可以直接在此处修改监听端口, 无需去修改镜像。
创建完成后,您可以在目标服务下的函数列表中看到刚创建的函数。
使用Funcraft工具创建
使用Funcraft工具可以一键构建、推送容器镜像并部署函数。
- 执行以下命令克隆custom-container-docs示例。
git clone https://github.com/awesome-fc/custom-container-docs.git cd custom-container-docs/nodejsexpress
- 编辑template.yml,将参数Image的值替换成您的ACR镜像地址。
- 执行以下命令构建镜像,部署函数。
# Build the Docker image. fun build --use-docker # Deploy the function, push the image via the internet registry host (the function config uses the VPC registry for faster image pulling). fun deploy --push-registry acr-internet
创建完成后,您可以登录
函数计算控制台,在目标服务下的函数列表中看到刚创建的函数。