我们之前的部署都是基于本地的部署,我们这次来看下,如何基于docker去部署我们的项目。
1.首先去编写一个docker镜像的制作文件Dockerfile
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.写好文件,就是打包我们的镜像。执行命令
docker build -t myfastapi .
这里需要耐心等待就可以
打包完成后,我们可以用docker images查看
然后我们可以去部署。
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.我们也可以把本地镜像导出出来。
docker save -o myfastapi.tar myfastapi
导出之后,我们以后部署可以在任意的docker去部署我们的服务。
然后我们在要去部署的机器执行
docker load < myfastapi.tar
然后去启动镜像即可。
其实docker去部署很简单。