Docker 学习
https://www.cnblogs.com/poloyy/p/15257059.html
项目结构
.
├── app
│ ├── __init__.py
│ └── main.py
├── Dockerfile
└── requirements.txt
FastAPI 应用程序 main.py 代码
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {
"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
return {
"item_id": item_id, "q": q}
Dockerfile
# 1、从官方 Python 基础镜像开始
FROM python:3.9
# 2、将当前工作目录设置为 /code
# 这是放置 requirements.txt 文件和应用程序目录的地方
WORKDIR /code
# 3、先复制 requirements.txt 文件
# 由于这个文件不经常更改,Docker 会检测它并在这一步使用缓存,也为下一步启用缓存
COPY ./requirements.txt /code/requirements.txt
# 4、运行 pip 命令安装依赖项
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
# 5、复制 FastAPI 项目代码
COPY ./app /code/app
# 6、运行服务
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "80"]