fastapi 部署到linux上的docker上
(打通开发到生产的环境部署问题,最便捷的方式就是用docker容器)
目录:
- py
- server.py
- requirement.txt
- Dockerfile
Dockerfile
FROM python:3.10
ADD ./py /code
WORKDIR /code
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--reload"]
requirements.txt
click==8.1.3
fastapi==0.68.2
h11==0.13.0
pydantic==1.9.1
starlette==0.14.2
typing_extensions==4.3.0
uvicorn==0.18.2
server.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/api")
def index():
return "hello world"
构建docker的image镜像
docker build -t py_server:1 .
docker启container容器服务
docker run -p 18000:8000 -v /root/workspace/py:/code -d --name py_server py_server:1
# 使用volume 这样可以在宿主机上修改代码,因为uvicon使用reload参数,所以直接就生效了