飞桨模型部署至docker并使用FastAPI调用(一)-docker安装与vscode连接

本文档详细介绍了如何在Windows环境下安装Docker,并使用国内镜像源加速,接着展示如何将Python环境放入Docker容器,并通过FastAPI创建API服务。最后,讲解了如何在VSCode中连接Docker容器进行开发,并启动FastAPI应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章首发及后续更新:https://mwhls.top/4074.html,无图/无目录/格式错误/更多相关请至首发页查看。
新的更新内容请到mwhls.top查看。
欢迎提出任何疑问及批评,非常感谢!

飞桨模型部署至docker并使用FastAPI调用

Windows docker 下载
安装 WSL
  • 启动后会自动跳出窗口提示安装,安装后点击 Restart 即可。
无法打开设置
  • 以管理员身份运行。
使用国内下载源
  • 打开 Settings – Docker Engine

    • 原json:
    {
      "builder": {
        "gc": {
          "defaultKeepStorage": "20GB",
          "enabled": true
        }
      },
      "experimental": false,
      "features": {
        "buildkit": true
      }
    }
    • 添加镜像站后:
    {
      "builder": {
        "gc": {
          "defaultKeepStorage": "20GB",
          "enabled": true
        }
      },
      "experimental": false,
      "features": {
        "buildkit": true
      },
      "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com"
      ]
    }
示例教程
  • 执行教程时记得切换下目录,不然是在终端打开的默认目录中进行的
  • 教程里面有些步骤包含两条命令,执行之后记得确认命令是否全部执行完成,或者直接多按几次回车键。
Python Docker 安装
  • Python 3.8.13-slim
    • 说明文档
    • 获取镜像:docker pull python:3.8.13-slim
    • 大小:124.11 MB
  • 镜像转容器:docker run --name PDRS -ti python:3.8.13-slim /bin/bash
  • 退出容器:exit
  • 查看容器 ID:docker container ls -a
  • 以 root 身份启动:docker exec -u 0 -it 21ce830a7d27 /bin/sh
  • 查看容器大小:docker ps --size
vscode 链接至 docker
  • 具体流程见: vscode远程连接docker容器

    • 写的很简单易懂,不过我感觉他的标题起的不对,应该是本地连接docker。
  • 终端操作:使用 Ctrl+Shift+~ 打开终端。

fastapi 安装
  • 注:这一步我做的时候忘写了,这是后来补上的,如果出错,建议参考这里:关于服务器通过Python搭建API服务

  • 安装:pip install fastapi uvicorn

  • main.py – fastapi 代码

    # main.py, copy from http://www.zhangkexuan.cn/2020/11/01/about-python-api/
    from fastapi import FastAPI
    

app = FastAPI()

@app.get(‘/’)
def index():
return {‘message’: ‘你已经正确创建 FastApi 服务!’}

  • 执行:uvicorn main:app -- reload

  • 报错:ERROR: Error loading ASGI app. Could not import module "main".

    • 原因:为了方便测试,我用python os.system('uvicorn main:app --reload') 来启动,但因为 vscode 的工作路径不对,所以报错如上。
    • 解决方式:切换工作路径 os.chdir('./code_path'),其中,./code_path 为 main.py 所在路径。
  • 测试:启动后,vscode 会弹窗提示已经映射 docker 端口到宿主机,可通过 http://127.0.0.1:8000 打开,终端输出如下:

    INFO:     Will watch for changes in these directories: ['/root/code']
    INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
    INFO:     Started reloader process [10502] using statreload
    INFO:     Started server process [10504]
    INFO:     Waiting for application startup.
    INFO:     Application startup complete.
    INFO:     127.0.0.1:33858 - "GET / HTTP/1.1" 200 OK
  • 参考文献
    1. Docker 命名容器
    2. 镜像加速器
    3. Windows 10上安装Docker Desktop 并启用Kubernetes
    4. 关于服务器通过Python搭建API服务
    5. vscode远程连接docker容器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值