最近一朋友利用fastapi框架,搭建了一个项目,在本地部署正常情况下准备搬迁到服务器中做测试,不料遇到了一些难处,这里利用了宝塔docker管理器拉取fastapi的官方容器一步到位。
准备:
1、服务器装好纯净系统,推荐centos8
2、部署好宝塔面板(略)
部署步骤:
一、安装nginx和docker管理器,如图所示:
注:找到宝塔面板中的软件商店安装nginx环境和Docker管理器这个插件。
二、拉取官方fastapi镜像
由于fastapi官方镜像已经配置部署好uvicorn和gunicorn了,我们只需要打开docker管理器,拉取官方镜像即可,官方镜像:tiangolo/uvicorn-gunicorn-fastapi:latest 如图所示:
点击获取镜像后,我们可以在镜像管理中看到已经下载好得镜像如图:
三、生成自己的项目镜像包
由于官方镜像只是一个demo,这里我们需要把自己的项目文件打包成一个镜像,然后进行性部署。
1、上传项目文件到www/wwwroot文件夹下赋予权限777.
这里的apitest文件夹中的main.py就是我自己得工程了,requirements.txt里面是项目依赖包
2.在apitest文件夹同一层级下,创建Dockerfile文件并赋予777权限,内容为:
FROM tiangolo/uvicorn-gunicorn-fastapi:latest COPY ./apitest /app RUN pip install -r requirements.txt
如图:
3.在apitest文件夹同级目录下,运行命令如下命令,得到apidemo的项目镜像:
docker build -t apidemo .
注:命令附带的点不要忘记输入(.)
如图:
镜像创建成功如图:
四、创建项目容器
打开docker管理器,点击容器列表,点击创建容器,镜像选择刚刚生成得apidemo镜像,首先绑定ip为0.0.0.0,端口映射是将容器内项目得端口80,映射到主机得端口8080,注意设置好以后一定要点击加号才会生效。然后目录映射左边需要填写主机得文件夹地址,注意要绝对路径,右边写/apidemo,注意设置好以后一定要点击加号才会生效。最后执行命令一定要写/start.sh,否则容器运行不成功。设置可参照如下图:
点击提交,如图所示,状态显示绿色图标代表我们的项目正常运行了。
最后绑定域名,做好nginx反代,就可以通过域名进行访问我们的项目了。
注:
如果需要项目更新交换可使用如下命令(请在终端执行):
首先查询dockerID命令如下:
docker ps -a
从主机项目复制到容器 示例1:
docker cp /www/wwwroot/apitest containerID:70e9ba9bbb70
从容器项目复制到主机 示例2:
docker cp containerID:70e9ba9bbb70 /www/wwwroot/apitest
以上简要过程如有不明白的,请自行脑补,你的支持就是动力,赞赏才能继续,嘿嘿!
请先
!