前言
上一篇我们分享了FastAPI 学习之路(四十一)定制返回Response,本次我们看下如何利用docker部署发布我们的项目
正文
我们之前的部署都是基于本地的部署,我们这次来看下,如何基于docker去部署我们的项目。
1.首先去编写一个docker镜像的制作文件Dockerfile
代码语言:javascript复制FROM python:3.7
RUN pip install fastapi uvicorn aiofiles fastapi-async-sqlalchemy python-multipart
EXPOSE 80
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
其实简单,就是告知依赖的python3.7,需要安装依赖包。然后复制本地文件。然后执行部署。
2.写好文件,就是打包我们的镜像。执行命令
代码语言:javascript复制 docker build -t myfastapi .
这里需要耐心等待就可以
打包完成后,我们可以用docker images查看
然后我们可以去部署。
代码语言:javascript复制sudo docker run -d --name myfastapi -p 80:80 myfastapi
启动后,我们可以看使用docker ps -a查看
接下来我们就可以访问了
http://127.0.0.1/openapi或者http://0.0.0.0/openapi都可以查看
两个地址都可以访问成功。
3.我们也可以把本地镜像导出出来。
代码语言:javascript复制docker save -o myfastapi.tar myfastapi
导出之后,我们以后部署可以在任意的docker去部署我们的服务。
然后我们在要去部署的机器执行
代码语言:javascript复制docker load < myfastapi.tar
然后去启动镜像即可。其实docker去部署很简单。
后记
发现问题,解决问题。遇到问题,慢慢解决问题即可。
欢迎关注雷子说测试开发,后续将会持续为大家分享更多的技术知识