一、准备工作

  1、先确保项目可以正常运行

  2、使用pip freeze导出第三方库

  3、在项目根目录新建pip.conf文件,写入一下内容

   

[global]
index-url=http://pypi.douban.com/simple # 我之前用的阿里云的,但是镜像打包的时候提示代理问题,建议使用豆瓣的 [install]
trusted-host=pypi.douban.com

二、编写Dockerfile文件,生成镜像

FROM python
MAINTAINER tester
ADD ./ /opt/rms-rcs
WORKDIR /opt/rms-rcs
COPY pip.conf /root/.pip/pip.conf #复制到目标服务器,这样pip安装的速度会比较快
RUN /usr/local/bin/python -m pip install --upgrade pip && \
pip3 install -r requirements.txt
CMD ["gunicorn", "-c", "gunicorn.py", "main:app"]
EXPOSE 8000

  docker build -t test:v1.0.0 .    # 注意最后的那个“.”,说明是当前目录下

三、运行镜像及调试

  docker run -it --name test -p 8080:8080 test:v1.0.0

  一开始不建议-d直接后台运行,这样报错的话不利于调试,确保没有问题后再进行后台

  

 

docker+gunicorn+fastapi部署的更多相关文章

  1. FastAPI(62)- FastAPI 部署在 Docker

    Docker 学习 https://www.cnblogs.com/poloyy/p/15257059.html 项目结构 . ├── app │   ├── __init__.py │ └── ma ...

  2. 记基于docker+gunicorn部署sanic项目遇到的很多很多坑

    前言: 最近有个项目需要上线,是python中sanic网络异步框架写的,并且要求使用docker+nginx来部署项目实现负载均衡,于是乎百度了sanic项目部署,基本上都是基于docker+gun ...

  3. flask +gevent+nginx+Gunicorn+supervisor部署flask应用

    上篇   可以完美部署flask ,但是视乎在结合gevent+apscheduler 实现异步非阻塞后台和定时任务的时候视乎不是那么完美.请教了前辈,决定使用flask+gevent+nginx+g ...

  4. 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定

    1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...

  5. 基于Jenkins,docker实现自动化部署(持续交互)

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  6. Docker Compose 一键部署LNMP

    Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...

  7. Docker Compose 一键部署Nginx代理Tomcat集群

    Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...

  8. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  9. Docker Overlay 应用部署

    Docker Overlay 部署条件 要想使用Docker原生Overlay网络,需要满足以下任意条件: 1.Docker运行在Swarm模式 2.使用键值存储的Docker主机集群 本次部署使用键 ...

  10. Docker Macvlan 应用部署

    Docker Macvlan 应用部署 MacVLAN有两种桥接模式 Bridge模式:不创建子接口的情况下直接去桥接物理接口.直接桥接到与宿主级的同网段. VLAN Bridge模式:创建子接口去桥 ...

随机推荐

  1. @RestControllerAdvice全局异常统一处理

    spring项目中,我们通常规定了返回的格式(成功-失败-异常),特别是异常怎么处理方便呢? 1.自定义状态码实体 package com.ruoyi.common.constant; /** * 返 ...

  2. 懂九转大肠的微软New Bing 内测申请教程

    最近微软的New Bing开放内测了,网上已经有拿到内测资格的大佬们对比了ChatGPT和New Bing.对比结果是New Bing比ChatGPT更强大.来看看具体对比例子吧 1.时效性更强 Ch ...

  3. ajax的原理是什么?如何实现?

    一.是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器 ...

  4. 【TS】数组和元组

    数组 在ts中,定义数组类型语法: let 变量名 : 数据类型[] = [值1,值2,值3] let arr1 : number[] = [1,2,3,4] console.log(arr1); / ...

  5. https://lamp.sh/

    转载:LAMP一键安装包 LAMP一键安装包

  6. Vulhub 漏洞学习之:Fastjson

    Vulhub 漏洞学习之:Fastjson 目录 Vulhub 漏洞学习之:Fastjson 0 背景知识 0.1 FastJson POC解析 0.1.1 基于rmi的利用方式 0.1.2 基于ld ...

  7. WPF ScrollViewer 没有效果

    ScrollViewer组件外组件如果是StackPanel组件 需要给StackPanel 设置高度,ScrollViewer 才会有滚动条 如果不想设置StackPanel高度,可以把StackP ...

  8. pat乙级1014 福尔摩斯的约会

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int ...

  9. js提示框触发和定时关闭

    <!DOCTYPE html><meta charset="utf-8"> <script src="https://cdn.staticf ...

  10. centos 修改ip

    TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6IN ...