宝塔 centos下 docker管理器 部署 fastapi 使用官方tiangolo/uvico

麦兜兜互联网 2023-02-16 23:36:58 1112阅读 举报

一:安装Docker管理器

      在宝塔面板的软件商店里面安装Docker管理器,以及一个nginx即可,不需要完整的lnmp或者lamp环境。

    

二:docker安装

   通过docker管理器获取官方fastapi镜像, tiangolo/uvicorn-gunicorn-fastapi:latest

   官方镜像配置号了uvicorn和gunicorn,完全满足生产环境得需求。


  获取镜像后,我们可以在镜像管理中看到下载好得镜像:


三:基于官方镜像生成包含自己工程得镜像

    官方镜像只是demo,我们需要将自己得fastapi工程打包成一个镜像进行部署。

    1.上传工程到某一文件夹下,比如/root/chatserver/app:

这里得config.py和main.py就是我自己得工程了,requirements.txt里面是项目依赖包:

requests == 2.18.4
uvicorn == 0.11.5
fastapi == 0.54.2

   2.在app文件夹同一层级下,创建Dockerfile文件,内容为:

FROM tiangolo/uvicorn-gunicorn-fastapi:latest

COPY ./app /app

RUN pip install -r requirements.txt

    第一句得意思是要生成得镜像是基于

tiangolo/uvicorn-gunicorn-fastapi:latest

  这个镜像,第二句得意思是将当前层级下得app文件夹内得所所有内容copy到镜像里得app文件夹下,也就是将自己得项目拷贝进去,第三句即安装依赖包

  3.在app文件夹同级目录下,运行命令

docker build -t test .

  生成名字为test得镜像


四:创建容器


      点击容器列表,点击创建容器,镜像选择刚刚生成得test镜像,绑定ip为0.0.0.0,端口映射是将容器内项目得端口80,映射到主机得端口8080,注意设置好以后一定要点击加号才会生效。

    

    

    目录映射左边需要填写主机得文件夹地址,注意要绝对路径,右边写/app,注意设置好以后一定要点击加号才会生效。最后执行命令一定要写/start.sh,否则容器运行不成功。



       

    最后点击提交

   状态为绿色三角,即成功运行。


   通过ip打开,可以看到已经正常运行了。



   docker内工程与主机之间得文件交换可用下面得命令进行:


   从主机复制到容器 docker cp host_path containerID:container_path

   从容器复制到主机 docker cp containerID:container_path host_path

   容器ID的查询方法docker ps -a

    

五:反向代理

     使用nginx设置好反向代理,即可用域名登陆了

版权声明:
作者:麦兜兜
链接:https://www.yiqixuexi8.com/p/2131d3592c346d.html
来源:互联网
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以点击 “举报”


登录 后发表评论
0条评论
还没有人评论过~