Python容器型

更新时间:

创建应用

  • 登录云开发平台,点击「免费云开发」,进入「快速开始」页面,点击「应用搬站」。

image.png
  • 选择「Python」,选择「容器型」,点击下一步,填写完信息之后,点击下一步,选择「计算服务」,开通项目所依赖的云服务,点击完成。

  • 应用创建完成后,点击「在线开发部署」,等待代码仓库完成初始化,自动进入 CloudIDE页面,之后打开 README.md 详细阅读。

image.png

说明

云开发平台默认提供了一个简单的demo—一个fastapi框架开发的简单Web应用,默认使用gunicorn启动项目,应用必须通过8080端口提供服务。关于项目启动命令的自定义修改,可在prepare.sh中的“自定义命令注释快”内修改。

配置文件

.workbench

  • 不可删除,云开发平台应用部署配置文件。

  • fcRouteDefault,「路由/函数入口」配置入口。

  • cicd,构建打包部署应用的 Shell 指令集;核心:将要部署的内容全部打包到项目根目录的 code.zip 压缩包,云开发平台只认项目根目录的 code.zip 压缩包进行部署。

prepare.sh

  • 为阿里云云开发平台构建用户自定义镜像的前置操作,处理环境变量以及启动命令等操作。

  • 该脚本会生成dockerfile入口文件 “start.sh”,开发者需要在prepare.sh的指定位置添加服务启动命令。

Dockerfile

  • 根据提供的Dockerfile模板进行定制。

  • 云开发平台默认只提供容器8080端口的映射。

云开发平台提供了base镜像 registry.cn-shanghai.aliyuncs.com/aliyun_workbench/python3.6:1.0, 该镜像继承自官方镜像 [python:3.6.3-jessie], 同时集成了阿里云sdk。

    numpy==1.13.3 \
    scipy==1.0.0.0 \
    wand==0.4.4 \
    opencv-python==3.3.0.10 \
    matplotlib==2.0.2 \
    scrapy==1.4.0 \
    cbor==1.0.0 \
    aliyun-fc==0.6 \
    meinheld==0.6.1 \
    aliyun-fc2==2.2.0 \
    tablestore==5.1.0 \
    aliyun-python-sdk-core-v3==2.13.3 \
    aliyun-python-sdk-iot==7.8.0 \
    aliyun-python-sdk-ecs==4.10.1 \
    aliyun-python-sdk-vpc==3.0.2 \
    aliyun-python-sdk-rds==2.1.4 \
    aliyun-python-sdk-kms==2.5.0 \
    aliyun-python-sdk-imm==1.3.4 \
    aliyun-log-python-sdk==0.6.38 \
    aliyun-python-sdk-ram==3.0.0 \
    aliyun-python-sdk-sts==3.0.0 \
    aliyun-python-sdk-fnf==1.0.0 \
    aliyun-mns==1.1.5 \
    aliyun-python-sdk-cdn==3.0.8 \
    cprotobuf==0.1.9 \
    pydatahub==2.11.2 \
    oss2==2.6.0

上传你的应用

  • 打开你本地的 FastAPI 应用根目录,选中所有文件(依赖文件可以不用选),拖拽到 CloudIDE 左侧文件列表,等待应用上传完成。image.png

部署

  • 当测试没问题可以部署时,点击 CloudIDE 左侧 「WB」插件,打开「部署」面板,选择一个环境,点击「部署」,等待部署成功即可,可以用部署成功分配的测试域名查看线上效果。