微信云发开的一个flask例子
微信云开发的flask文档是错误的按着他的方案会出现
COPY failed: stat /var/lib/docker/tmp/docker-builder039536228/app: no such fiel
Dockerfile
# 写在最前面:强烈建议先阅读官方教程[Dockerfile最佳实践](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) # 选择构建用基础镜像(选择原则:在包含所有用到的依赖前提下尽可能提及小)。如需更换,请到[dockerhub官方仓库](https://hub.docker.com/_/python?tab=tags)自行选择后替换。 # 选择基础镜像 FROM alpine:3.13 # 容器默认时区为UTC,如需使用上海时间请启用以下时区设置命令 # RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone # 使用 HTTPS 协议访问容器云调用证书安装 RUN apk add ca-certificates # 安装依赖包,如需其他依赖包,请到alpine依赖包管理(https://pkgs.alpinelinux.org/packages?name=php8*imagick*&branch=v3.13)查找。 # 选用国内镜像源以提高下载速度 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \ # 安装python3 && apk add --update --no-cache python3 py3-pip \ && rm -rf /var/cache/apk/* # 拷贝当前项目到/app目录下 COPY . /app # 设定当前的工作目录 WORKDIR /app # 安装依赖到指定的/install文件夹 # 选用国内镜像源以提高下载速度 RUN pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple \ && pip config set global.trusted-host mirrors.cloud.tencent.com \ && pip install --upgrade pip \ # pip install scipy 等数学包失败,可使用 apk add py3-scipy 进行, 参考安装 https://pkgs.alpinelinux.org/packages?name=py3-scipy&branch=v3.13 && pip install --user -r requirements.txt # 设定对外端口 EXPOSE 80 # 设定启动命令 CMD ["python3", "run.py", "0.0.0.0", "80"]
requirements.txt
click==8.0.3 Flask==2.0.2 Flask-SQLAlchemy==2.5.1 greenlet==1.1.2 itsdangerous==2.0.1 Jinja2==3.0.3 MarkupSafe==2.0.1 PyMySQL==1.0.2 SQLAlchemy==1.4.29 Werkzeug==2.0.2
run.py
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return '欢迎使用微信云托管!' if __name__ == "__main__": app.run(debug=True,host='0.0.0.0',port=80)