云开发 CloudBase Framework 框架「Container」插件: 通过云开发 CloudBase Framework 框架将项目应用一键部署到云开发的云应用环境,提供生产环境可用的自动弹性伸缩的高性能的容器计算服务。可以搭配其他插件如 Website 插件、Node 插件实现云端一体开发。
- 节约成本: 资源伸缩,弹性扩缩容,灵活计费,极大节约资源成本
- 极简配置:自动检测框架,无须配置
- 语言支持和框架支持广泛
Node.JS
PHP
Java
Go
Dart
Deno
具体步骤请参照 准备云开发环境和 CloudBase CLI 命令工具
如果是目前已有的后端应用项目
cloudbase init --without-template
如果想全新开始一个项目,可以直接执行 init 来从模板开始一个项目
cloudbase init
cloudbase framework:deploy
默认情况下不需要任何配置即可使用,以下配置参数针对有特殊需求的场景
cloudbase init
之后会创建云开发的配置文件 cloudbaserc.json
,可在配置文件的 plugins 里修改和写入插件配置
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-container",
"inputs": {
"serviceName": "node-api",
"servicePath": "/node-api",
"localPath": "./"
}
}
}
}
}
选填,容器镜像代码来源类别,支持package|image|repository
3 种,分别代表本地代码包、镜像地址和 git 仓库地址。默认是package
, 选择image
时需要填写 imageInfo
, 选择 repository
需要填写codeDetail
必填,服务名,字符串格式,如 node-api
必填,服务路径配置, 字符串格式, 如 /node-api
选填,本地代码文件夹相对于项目根目录的路径,默认值 ./
选填,本地代码文件夹的绝对路径
选填,版本名,默认值 1.0.0
选填,是否对外网开放访问,默认值 true
选填,流量占比(0-100),默认值 100
选填,CPU 的大小,1-128, 单位:核,默认值 1
选填,Mem 的大小,1-128, 单位:G,默认值 1
选填,最小副本数, 1-1000,默认值 1
选填,最大副本数,1-1000,默认值 1000
选填,策略类型(cpu),默认值 cpu
选填,策略阈值,1-100, 默认值 60
选填,服务端口,默认值 80
选填,Dockerfile 的路径,默认值 ./Dockerfile
选填,构建目录,默认值 ./
选填,环境变量键值对,会被注入到云应用的运行时环境变量中
uploadType
填写为 image
时需要填写 imageInfo
,类型是对象格式
属性名称 | 类型 | 长度 | 是否必填 | 描述 |
---|---|---|---|---|
imageUrl | String | 1-512 | 是 | 镜像拉取地址 |
imageUrl 格式为 [registry-url]/[namespace]/[image]:[tag],支持腾讯云 ccr.ccs.tencentyun.com 上的镜像地址,也支持 dockerhub 公开的镜像,如 nginx:latest
例如
{
"envId": "{{envId}}",
"framework": {
"name": "capp-example",
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-container",
"inputs": {
"serviceName": "node-api",
"servicePath": "/node-api",
"localPath": "./",
"uploadType": "image",
"imageInfo": {
"imageUrl": "ccr.ccs.tencentyun.com/tcb-100010952056-rjdt/webpage_node-api:node-api-001-1597238358"
}
}
}
}
}
}
uploadType
填写为 repository
时需要填写codeDetail
,类型是对象格式
属性名称 | 类型 | 长度 | 是否必填 | 描述 |
---|---|---|---|---|
name | CodeRepoName 对象 | 1-512 | 否 | repo 的名字 |
url | String | 1-512 | 否 | repo 的 url |
例如
{
"envId": "{{envId}}",
"framework": {
"name": "capp-example",
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-container",
"inputs": {
"serviceName": "deno",
"servicePath": "/deno",
"localPath": "./",
"uploadType": "repository",
"codeDetail": {
"name": "deno-docker",
"url": "https://github.com/TabSpace/deno-docker"
}
}
}
}
}
}
请访问 CloudBase Framework 插件列表 搭配使用其他插件
- 云开发官网地址: https://cloudbase.net/
- 云开发静态网站开通指南:https://docs.cloudbase.net/hosting/
- 云开发控制台地址: https://console.cloud.tencent.com/tcb