You need to enable JavaScript to run this app.
文档中心
函数服务

函数服务

复制全文
下载 pdf
Native 运行时
镜像部署
复制全文
下载 pdf
镜像部署
Native 函数支持代码包部署和镜像部署两种方式。进行镜像部署前,需要自行编写 Dockerfile 文件,将开发完成的代码包构建为镜像,上传至火山引擎同地域的镜像仓库。本文为您介绍如何构建镜像。​
背景信息​
镜像部署包含以下流程:​
  1. 构建镜像:用户自主编写 Dockerfile 文件,将开发完成的代码包构建为镜像,上传至火山引擎同地域的镜像仓库。​
  1. 创建函数:函数服务会扮演该函数的服务角色(Service Role),访问火山引擎镜像仓库拉取镜像。拉取成功后,镜像将同步至函数服务。​
  1. 发布函数:发布指定镜像版本后,当前服务即可接管所有请求。​
前提条件​
已开通火山引擎镜像仓库。已创建仓库实例并设置访问密码,已创建命名空间和 OCI 制品仓库。具体操作可参见 镜像仓库快速入门。​
使用限制​
  • HTTP 服务要求​
  • 服务需要提供一个启动脚本run.sh,该脚本必须拷贝至如下容器目录:/opt/application/run.sh。​
  • 服务需要在 120 秒内启动完毕,否则将会出现以下错误。​
  • ​
    {​
    Status: "failed"​
    StatusMessage: "Function cold start timeout, please check your log/code and then retry, or contact oncall"​
    }​
    ​
  • 容器内文件读写权限​
  • 容器 run-as-user UID 设置为 root,函数服务将使用 root 运行您的容器镜像,如果您在 Dockerfile 中指定了具体的使用者,目前不会以指定的使用者运行该容器镜像。​
  • 容器镜像大小限制​
  • 容器镜像最大不能超过 10 GiB。​
操作步骤​
  1. 在您的项目当前目录下编写 Dockerfile 文件。 下文是一个 Golang HTTP 服务的 Dockerfile 示例。​
​
FROM golang:latest​
​
# 把当前(宿主机上)目录下的文件复制到docker上的/opt/application目录下​
COPY ./output/main /opt/application/main​
COPY run.sh /opt/application/run.sh​
​
# 设置工作目录​
WORKDIR /opt/application​
USER root​
​
# 启动 docker 需要执行的文件​
CMD /opt/application/run.sh​
​
  1. 执行以下命令指定镜像仓库,IMAGE_NAME需替换为您的镜像名称。假设函数服务的地域为北京,您的镜像名称为:xxx-cn-beijing.cr.volces.com/vefaas/native-image-go:latest。​
​
# export IMAGE_NAME=[仓库实例域名]/[命名空间]/[OCI 制品仓库]:[镜像版本号]​
export IMAGE_NAME="xxx-cn-beijing.volces.com/vefaas/native-image-go:latest"​
​
  1. 执行以下命令构建镜像。​
​
docker build -t $IMAGE_NAME .​
​
  1. 执行以下命令将镜像推送至镜像仓库。​
​
export UserName="xxx" # UserName 可登录镜像仓库控制台获取​
export PassWord="xxx" # PassWord 为您在前提条件中设置的镜像仓库实例访问密码​
docker login --username=$UserName --password=$PassWord xxx-cn-beijing.volces.com​
docker push $IMAGE_NAME​
​
后续操作​
  1. 在函数服务控制台创建函数,选择创建「Web 应用」,部署方式选择容器镜像。具体操作可参见 创建函数。​
  1. 将您的函数镜像和配置发布至线上。具体操作可参见 发布函数。​
​
最近更新时间:2026.02.03 16:03:50
这个页面对您有帮助吗?
有用
有用
无用
无用