Docker自学:利用FastAPI建立一个简单的web app

环境配置:下载Docker Desktop

文件一:main.py

from typing import Union

from fastapi import FastAPI

import uvicorn

app = FastAPI()


@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
    return {"item_id": item_id, "q": q}


if __name__ == '__main__':
    uvicorn.run(app, port=8000, host="0.0.0.0")

文件二:Dockerfile

FROM python:3.8

WORKDIR /fastapi-app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY main.py .

CMD [ “python”, “main.py” ]

文件三:requirements.txt

click7.1.2
fastapi
0.61.2
h110.11.0
pydantic
1.7.2
starlette0.13.6
typing-extensions
3.7.4.3
uvicorn==0.12.2

Terminal里的执行command

docker build -t python-fastapi .
首先建立一个名为python-fastapi的image。

docker run -p 8000:8000 python-fastapi
接着建立一个container,并执行main.py

在浏览器中输入网址(http://localhost:8000/),就可以看到一个简单的FastAPI的web app。
在这里插入图片描述

探索python-fastapi里的文档

打开terminal。

输入:docker ps,可以看到有哪些container在执行。
在这里插入图片描述
输入:docker exec -it 7d03e938228f /bin/sh,其中的“7d03e938228f”是你的container id。这样我们可以打开container里面的shell。

在这里插入图片描述
可以看到里面的Linux文件系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值