FastAPI 学习之路(四十二)利用Docker部署发布

2021-09-17 11:26:01 浏览数 (1)

前言

上一篇我们分享了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去部署很简单。

后记

发现问题,解决问题。遇到问题,慢慢解决问题即可。

欢迎关注雷子说测试开发,后续将会持续为大家分享更多的技术知识

0 人点赞