Fast Api
1. 安装Docker
- 下载Docker Desktop: 前往Docker Desktop for Windows官网页面下载Docker Desktop。
- 安装Docker Desktop: 双击下载的安装文件,按照提示进行安装。在安装过程中,确保启用“Use the WSL 2 based engine”选项,这将使用Windows Subsystem for Linux 2来提高性能。
- 启动Docker Desktop: 安装完成后,启动Docker Desktop。如果是第一次运行,Docker Desktop可能会要求你登录Docker Hub账户。可以注册一个免费账户并登录。
- 验证安装: 打开命令提示符或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环境冲突。
- 创建虚拟环境:
bash复制代码 python -m venv venv
这里的
venv
是虚拟环境的名称,你可以根据需要更改。 - 激活虚拟环境: 在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端口。
- 打开命令提示符或PowerShell,导航到你的项目目录:
- 访问应用: 打开浏览器,访问
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