【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

AWZY2021年10月6日19:39:48
评论
15 1247字

最近一朋友利用fastapi框架,搭建了一个项目,在本地部署正常情况下准备搬迁到服务器中做测试,不料遇到了一些难处,这里利用了宝塔docker管理器拉取fastapi的官方容器一步到位。

准备:

1、服务器装好纯净系统,推荐centos8

2、部署好宝塔面板(略)

部署步骤:

一、安装nginx和docker管理器,如图所示:

注:找到宝塔面板中的软件商店安装nginx环境和Docker管理器这个插件

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

二、拉取官方fastapi镜像

由于fastapi官方镜像已经配置部署好uvicorn和gunicorn了,我们只需要打开docker管理器,拉取官方镜像即可,官方镜像:tiangolo/uvicorn-gunicorn-fastapi:latest 如图所示:

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

点击获取镜像后,我们可以在镜像管理中看到已经下载好得镜像如图:

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

三、生成自己的项目镜像包

由于官方镜像只是一个demo,这里我们需要把自己的项目文件打包成一个镜像,然后进行性部署。

1、上传项目文件到www/wwwroot文件夹下赋予权限777.

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

这里的apitest文件夹中的main.py就是我自己得工程了,requirements.txt里面是项目依赖包

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

2.在apitest文件夹同一层级下,创建Dockerfile文件并赋予777权限,内容为:

FROM tiangolo/uvicorn-gunicorn-fastapi:latest
COPY ./apitest /app
RUN pip install -r requirements.txt

如图:

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

3.在apitest文件夹同级目录下,运行命令如下命令,得到apidemo的项目镜像:

docker build -t apidemo .

注:命令附带的点不要忘记输入(.)

如图:

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

镜像创建成功如图:

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

四、创建项目容器

打开docker管理器,点击容器列表,点击创建容器,镜像选择刚刚生成得apidemo镜像,首先绑定ip为0.0.0.0,端口映射是将容器内项目得端口80,映射到主机得端口8080,注意设置好以后一定要点击加号才会生效。然后目录映射左边需要填写主机得文件夹地址,注意要绝对路径,右边写/apidemo,注意设置好以后一定要点击加号才会生效。最后执行命令一定要写/start.sh,否则容器运行不成功。设置可参照如下图:

 

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

点击提交,如图所示,状态显示绿色图标代表我们的项目正常运行了。

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

最后绑定域名,做好nginx反代,就可以通过域名进行访问我们的项目了。

注:

如果需要项目更新交换可使用如下命令(请在终端执行):

首先查询dockerID命令如下:

docker ps -a

【Linux乱炖】fastapi官方容器利用宝塔的docker管理器进行部署

从主机项目复制到容器 示例1:

docker cp /www/wwwroot/apitest containerID:70e9ba9bbb70

从容器项目复制到主机 示例2:

 docker cp containerID:70e9ba9bbb70 /www/wwwroot/apitest

 

以上简要过程如有不明白的,请自行脑补,你的支持就是动力,赞赏才能继续,嘿嘿!

 

  • 爱玩资源微信
  • 微信扫一扫
  • weinxin
  • 爱玩资源公众号
  • 微信扫一扫
  • weinxin
AWZY
  • 本文由 发表于 2021年10月6日19:39:48
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接

发表评论