docker部署fastapi

docker部署fastapi

1.撰写Dockerfile

FROM python:3.6
COPY . /app
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
WORKDIR ./app
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
EXPOSE 9400
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "9400"]

注意:Dockerfile需要修改部分就是你使用的python版本和你的端口号,本文端口号使用的是9400,可以改成你自己的端口号

2.生成requirments.txt文件

本文使用的库版本如下所示

anyio==3.3.2
asgiref==3.4.0
async-generator==1.10
certifi==2021.5.30
click==7.1.2
contextlib2==21.6.0
contextvars==2.1
dataclasses==0.8
fastapi==0.70.1
h11==0.13.0
idna==3.4
pydantic==1.8.2
sniffio==1.2.0
starlette==0.16.0
typing-extensions==4.1.1
uvicorn==0.15.0
wincertstore==0.2

3.项目结构

本文的项目结构如下图左侧所示
在这里插入图片描述

4.上传文件到部署服务器

项目结构还是和pycharm保持一致
在这里插入图片描述

5.打包镜像并运行

5.1打包镜像

docker build -t ydsy .

注意:打包的时候需要在项目文件目录下,也就是有Dockerfile目录下

打包成功如下所示,本文打包成的镜像ID为3afd31fab5f9
在这里插入图片描述
5.2运行镜像
命令如下

docker run -d --name 新取的容器名称 -p 8000:80 刚刚构建的镜像名称

本文使用的命令
docker run -d --name ydsyContainer -p 9403:9400  3afd31fab5f9

运行成功如下:
在这里插入图片描述
查看容器运行命令:

docker ps

下图可以看到我们刚刚运行的容器:
在这里插入图片描述
下图是使用postman测试结果
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值