0
点赞
收藏
分享

微信扫一扫

快速构建fastapi环境容器


我们经常需要启动一个简单的python网络程序,并提供api端口,下面进行一个简单的Python容器环境制作(依赖列表可按需增减)

编辑Dockerfile文件

# 使用 Python 3.10 作为基础镜像
FROM python:3.10

# 设置时区
ENV TZ=Asia/Shanghai

# 设置工作目录
WORKDIR /app

# 创建 requirements.txt 文件
RUN echo "annotated-types==0.7.0\n\
anyio==4.6.2.post1\n\
blinker==1.9.0\n\
certifi==2024.8.30\n\
charset-normalizer==3.4.0\n\
click==8.1.7\n\
exceptiongroup==1.2.2\n\
fastapi==0.115.5\n\
Flask==3.1.0\n\
h11==0.14.0\n\
idna==3.10\n\
itsdangerous==2.2.0\n\
Jinja2==3.1.4\n\
jsonpath-ng==1.7.0\n\
Markdown==3.7\n\
MarkupSafe==3.0.2\n\
ply==3.11\n\
pydantic==2.9.2\n\
pydantic_core==2.23.4\n\
PyMySQL==1.1.1\n\
python-multipart==0.0.17\n\
requests==2.32.3\n\
sniffio==1.3.1\n\
sqlparse==0.5.1\n\
starlette==0.41.2\n\
typing_extensions==4.12.2\n\
urllib3==2.2.3\n\
uvicorn==0.32.0\n\
websocket-client==1.8.0\n\
Werkzeug==3.1.3" > requirements.txt

# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 

# 设置容器启动命令
CMD ["python"]

构建步骤:

  1. 创建 Dockerfile:
    将上述内容保存为 Dockerfile。
  2. 构建镜像:

docker build -t fastapi:arm64_v1 .

  1. 验证镜像

# 运行容器
docker run -it --rm fastapi:arm64_v1 python -c "import fastapi; print(fastapi.__version__)"

实际项目使用

git clone或复制python项目代码压缩包方式到服务器,比如/home/project,其中主程序是main.py
则运行容器命令:

# 前端运行
docker run --net=host --restart=always -v /home/project:/app --name=fastapi -itd fastapi:arm64_v1 python main.py

# 后台运行
docker run --net=host --restart=always -v /home/project:/app --name=fastapi -itd fastapi:arm64_v1 python main.py


举报

相关推荐

0 条评论