这篇“Docker上如何部署FastApi”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker上如何部署FastApi”文章吧。
1 文件上传与新建目录
新建以下目录,其中.py文件是自己上传的
文件目录
新建以下文件
2 修改requirements.txt文件
这里面写的是运行程序所需要的py包,比如你用到了httpx包就在里面加上这个,用到什么加什么就可以了。以下我的实例
httpx fastapi[all]
3 修改Dockerfile.txt文件
这里面主要是写入的运行时的配置信息
# 引入python版本 FROM python:3.8 # 设置时间 RUN ln -sf /usr/share/zoneinfo/Asia/Beijing/etc/localtime # 输出时间 RUN echo 'Asia/Beijing' >/etc/timezone # 设置工作目录 WORKDIR /code # 复制该文件到工作目录中,./requirements.txt表示当前目录下的requirements.txt文件。这里 # 的/code/requirements.txt是docker内部自动生成的工作目录,不用自己创建的,请注意。 COPY ./requirements.txt /code/requirements.txt # 禁用缓存并批量安装包(后面的链接是利用豆瓣源安装,速度会加快) RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt -i https://pypi.douban.com/simple/ # 到工作目录 COPY ./app /code/app # 放开端口 EXPOSE 8001 # 命令行运行,启动uvicorn服务,指定ip和端口(--reload:让服务器在更新代码后重新启动。仅在开发时使用该选项。) CMD ["uvicorn", "app.main:app", "--reload", "--host", "0.0.0.0", "--port", "8001"]
你只需要更改这些位置即可。
1 ExPOSE 你的端口号
2 其中main为py的入口文件
4 打包成镜像
docker build -t 镜像名 .
实例:
docker build -t my_fast_sql .
5 运行启动
docker run -d --name 镜像名 -p 你的服务器端口:你的docker端口 容器名
实例
docker run -d --name my_fast_sql -p 8001:8001 my_s_f
6 查看运行状态与日志
docker ps docker logs 你的容器id