Fast Api


1. 安装Docker

  1. 下载Docker Desktop: 前往Docker Desktop for Windows官网页面下载Docker Desktop。
  2. 安装Docker Desktop: 双击下载的安装文件,按照提示进行安装。在安装过程中,确保启用“Use the WSL 2 based engine”选项,这将使用Windows Subsystem for Linux 2来提高性能。
  3. 启动Docker Desktop: 安装完成后,启动Docker Desktop。如果是第一次运行,Docker Desktop可能会要求你登录Docker Hub账户。可以注册一个免费账户并登录。
  4. 验证安装: 打开命令提示符或PowerShell,运行以下命令验证Docker是否安装成功:docker --version

创建Dockerfile

在项目目录中创建一个名为Dockerfile的文件,内容如下:

Dockerfile复制代码
# 使用官方Python镜像作为基础镜像
FROM python:3.10-slim

# 设置工作目录
WORKDIR /app

# 将当前目录内容复制到工作目录中
COPY . /app

# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt

# 暴露端口
EXPOSE 8000

# 运行FastAPI应用
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

生成一个requirements.txt文件的步骤如下:

1. 创建虚拟环境

首先,为了管理项目的依赖项,建议在项目目录中创建一个虚拟环境。虚拟环境可以确保项目的依赖项不会与系统的Python环境冲突。

  1. 创建虚拟环境
    bash复制代码
    python -m venv venv
    
    

    这里的venv是虚拟环境的名称,你可以根据需要更改。

  2. 激活虚拟环境: 在Windows上,激活虚拟环境的命令是:
    bash复制代码
    venv\\Scripts\\activate
    
    

    激活后,你会看到命令提示符前面有(venv),表示虚拟环境已激活。

2. 安装依赖项

在虚拟环境激活的情况下,安装FastAPI和Uvicorn:

bash复制代码
pip install fastapi uvicorn

3. 生成requirements.txt文件

使用以下命令生成requirements.txt文件,该文件将包含当前虚拟环境中安装的所有包及其版本号:

bash复制代码
pip freeze > requirements.txt

  • 确认依赖文件 requirements.txt: 确保你的 requirements.txt 文件列出了所有的依赖项。你可以在虚拟环境中运行 pip freeze > requirements.txt 来生成这个文件。例如,requirements.txt 文件内容应该类似于:
    txt复制代码
    fastapi==0.68.0
    uvicorn[standard]==0.15.0
    
    
  • 构建和运行Docker镜像
    • 打开命令提示符或PowerShell,导航到你的项目目录:
      bash复制代码
      cd D:\\JH\\Desktop\\fastapi-main
      
      
    • 构建Docker镜像:
      bash复制代码
      docker build -t quinapp .
      
      

      如果成功,输出应该包含构建的每一步,以及镜像ID。

    • 运行Docker容器:
      bash复制代码
      docker run -d -p 8845:8845 quinapp
      
      

      这会在后台运行你的Docker容器,并将主机的8000端口映射到容器的8000端口。

  • 访问应用: 打开浏览器,访问 http://localhost:8848。如果设置正确,你应该会看到响应:

要将Docker镜像推送到Docker Hub并进行更新和同步,您可以按照以下步骤操作:

1. 登录Docker Hub

如果还没有登录到Docker Hub,您需要先使用以下命令登录:

bash复制代码
docker login

输入您的Docker Hub用户名和密码。

2. 标记镜像

您需要将本地的镜像标记为与Docker Hub上的仓库匹配。使用以下命令将本地镜像标记为quinleefly/quinapp(仓库名):

bash复制代码
docker tag quinapp:latest quinleefly/quinapp:latest

3. 推送镜像到Docker Hub

标记完成后,您可以将镜像推送到Docker Hub:

bash复制代码
docker push quinleefly/quinapp:latest

4. 更新镜像

如果您对镜像进行了更改并想要更新Docker Hub上的镜像,只需要重新构建镜像并再次推送。例如,假设您已经更新了项目代码,您可以:

  • 重新构建镜像
    bash复制代码
    docker build -t quinapp:latest .
    
    
  • 再次推送到Docker Hub
    bash复制代码
    docker push quinleefly/quinapp:latest
    
    

Docker Hub上现有的镜像会自动被新的版本覆盖。

5. 同步镜像

如果需要同步多个版本的镜像,您可以使用不同的标签(tag)。例如,可以为每个版本打一个唯一的标签:

bash复制代码
docker tag quinapp:latest quinleefly/quinapp:v1.0
docker push quinleefly/quinapp:v1.0

这样,您可以在Docker Hub上保留多个版本的镜像并随时进行切换和同步。

exe:打包命令:pyinstaller -F -i logo.ico --noconsole main.py

THE END