点击领取2000元阿里云代金券,付款抵现金用,云服务器69元/年限时抢>>> 点击咨询成为阿里云VIP客户享永久折扣>>>
点击领取2860元腾讯云代金券,付款抵现金用,云服务器88元/年限时抢>>> 点击成为腾讯云VIP客户享永久折扣优惠>>> 点击进入华为云最新优惠活动现场>>> 点击成为华为云VIP客户享永久折扣优惠>>>
操作场景目前云函数容器镜像已开放使用,您可以使用云函数容器镜像进行开发。本文为您介绍如何安装镜像和使用镜像进行开发。
前提条件已在开发环境安装 Docker。
操作步骤获取镜像云函数镜像基于 Centos 7.7.1908版本,目前已公开在腾讯云容器服务 公有镜像。您可在公有镜像页面搜索 scf-repo 查看镜像信息。
执行以下命令拉取镜像。示例如下:
docker pull ccr.ccs.tencentyun.com/scf-repo/scf-runtimes-image:latest
注意:
如果命令提示权限错误无法正常执行,请在命令前加 sudo 再执行。
您可以在 /scf/lang/ 目录下查看当前镜像所包含的 Runtime。 由于云函数源镜像包括所有的 Runtime,单个容器镜像较大。请参考以下表格内容,根据需求自行选择 Runtime 镜像。
Runtime |
地址 |
SCF |
ccr.ccs.tencentyun.com/scf-repo/scf-runtimes-image:latest |
Go 1.8 |
ccr.ccs.tencentyun.com/scf-repo/runtime-go1:latest |
Python 2.7 |
ccr.ccs.tencentyun.com/scf-repo/runtime-python2:latest |
Python 3.6 |
ccr.ccs.tencentyun.com/scf-repo/runtime-python3:latest |
PHP 5.6 |
ccr.ccs.tencentyun.com/scf-repo/runtime-php5:latest |
PHP 7.2 |
ccr.ccs.tencentyun.com/scf-repo/runtime-php7:latest |
Java 8 |
ccr.ccs.tencentyun.com/scf-repo/runtime-java8:latest |
Node 6.10 |
ccr.ccs.tencentyun.com/scf-repo/runtime-node6:latest |
Node 8.9 |
ccr.ccs.tencentyun.com/scf-repo/runtime-node8:latest |
Node 10.15 |
ccr.ccs.tencentyun.com/scf-repo/runtime-node10:latest |
Node 12.16 |
ccr.ccs.tencentyun.com/scf-repo/runtime-node12:latest |
本文以 scf:python3 标签为例,执行以下命令为镜像重新贴上标签。示例如下:
docker pull ccr.ccs.tencentyun.com/scf-repo/runtime-python3:latest
docker images
docker tag 0729ecc15d37 scf:python3
执行结果如下图所示:
说明:
如果无需为镜像贴标签,则需将示例中的 scf:python3 替换为 ccr.ccs.tencentyun.com/scf-repo/runtime-python3:latest 。
使用镜像进行依赖安装本文以 Node.js 12 环境安装 NodeJieba 为例,介绍如何使用镜像安装依赖。
获取 Node.js 12 镜像执行以下命令拉取镜像。示例如下:
docker pull ccr.ccs.tencentyun.com/scf-repo/runtime-node12:latest
docker images
docker tag d64a665357b6 scf:node12
启动容器并挂载目录执行以下命令,启动容器并将本地目录挂载到容器内的目录(若目录不存在,将会自动创建该目录),本文以将 /path/to/your_project 目录挂载至容器中的 /tmp/your_project 目录为例。示例如下:
docker run -it -v /path/to/your_project:/tmp/your_project scf:node12 /bin/bash
容器内安装依赖
启动容器后,执行 cd 命令进入容器内目录,在该目录执行 npm 命令安装 NodeJieba。示例如下:
cd /tmp/your_project
npm install nodejieba --save
依赖将安装在本地 /path/to/your_project 目录下。执行 exit 命令可退出容器。示例如下:
exit
通过上述步骤即可通过容器镜像安装依赖,您可以将代码重新部署到云函数。针对 Node.js 语言,同时支持 在线依赖安装,上传时自动完成依赖的安装。
使用镜像进行开发本文以 Python 3.6 为例,介绍如何使用容器进行开发测试。
获取 Python 3.6 镜像执行以下命令拉取镜像。示例如下:
docker pull ccr.ccs.tencentyun.com/scf-repo/runtime-python3:latest
docker images
docker tag d64a665357b6 scf:python3
启动容器并挂载目录
执行以下命令,启动容器并将本地项目目录挂载到容器内的目录(若目录不存在,将会自动创建该目录)。示例如下:
docker run --name test -it -v /path/to/your_project:/tmp/your_project scf:python3 /bin/bash
执行 docker exec 命令进入容器进行开发。示例如下:
docker ps
docker exec -it CONTAINER_ID /bin/bash
保存镜像执行以下命令,可以将修改提交到本地的镜像中,以便后续继续使用。示例如下:
docker ps
docker commit db47b8e66e64 scf:myimage
|