码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 飞桨模型部署至docker并使用FastAPI调用(一)-docker安装与vscode连接


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

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

    目录
    Windows docker 下载
    安装 WSL
    无法打开设置
    使用国内下载源
    示例教程
    Python Docker 安装
    vscode 链接至 docker
    fastapi 安装
    参考文献
    Windows docker 下载
    • 官方下载:Install Docker Desktop on Windows
    安装 WSL
    • 启动后会自动跳出窗口提示安装,安装后点击 Restart 即可。
    无法打开设置
    • 以管理员身份运行。
    使用国内下载源
    • 打开 Settings – Docker Engine

      • 原json:
      {
        "builder": {
          "gc": {
            "defaultKeepStorage": "20GB",
            "enabled": true
          }
        },
        "experimental": false,
        "features": {
          "buildkit": true
        }
      }
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 添加镜像站后:
      {
        "builder": {
          "gc": {
            "defaultKeepStorage": "20GB",
            "enabled": true
          }
        },
        "experimental": false,
        "features": {
          "buildkit": true
        },
        "registry-mirrors": [
          "https://hub-mirror.c.163.com",
          "https://mirror.baidubce.com"
        ]
      }
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
    示例教程
    • 执行教程时记得切换下目录,不然是在终端打开的默认目录中进行的
    • 教程里面有些步骤包含两条命令,执行之后记得确认命令是否全部执行完成,或者直接多按几次回车键。
    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
      
      • 1
      • 2

    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
      • 2
      • 3
      • 4
      • 5
      • 6
    • 参考文献
      1. Docker 命名容器
      2. 镜像加速器
      3. Windows 10上安装Docker Desktop 并启用Kubernetes
      4. 关于服务器通过Python搭建API服务
      5. vscode远程连接docker容器
  • 相关阅读:
    【代码随想录】算法训练营 第十天 第五章 栈与队列 Part 1
    【后端】HTTP 初识
    Java 函数式接口、lambda表达式、初识Stream
    【web前端】CSS高级技巧(精灵图,字体图标,CSS三角,CSS用户界面样式,文字与图片垂直对齐,溢出的文字省略号显示,常见布局技巧,CSS初始化)
    Redis——Java中的客户端和API
    MATLAB算法实战应用案例精讲-【数据分析】数据仓库-数据治理
    【云原生生态圈】:服务快速上云--Docker部署SpringBoot案例详解
    React通过ref获取子组件的数据和方法
    【Pytorch笔记】7.torch.nn (Convolution Layers)
    解释 JavaScript 的执行上下文和堆栈
  • 原文地址:https://blog.csdn.net/asd123pwj/article/details/128065107
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号