自学内容网 自学内容网

Docker+fastapi

Dockfile文件

FROM python:3.11
LABEL authors="Hogen"

WORKDIR /home/MicroServices

COPY . /home/MicroServices

## 设置环境变量 PYTHONPATH,添加 /home 到 PYTHONPATH 中
#ENV PYTHONPATH="/home:${PYTHONPATH}"

# 更新并安装必要的系统依赖,包括 libGL
RUN apt-get update && apt-get install -y


# 先升级 pip
RUN pip install --upgrade pip

# 安装 setuptools 和 wheel
RUN pip install --upgrade setuptools wheel

## 手动安装避免httpx依赖冲突


RUN pip install --no-cache-dir --upgrade -r /home/MicroServices/requirements.txt


# 暴露容器内的端口
EXPOSE 7000


CMD ["uvicorn", "service_user_sql:app", "--host", "0.0.0.0", "--port", "7000"]

FROM 为选择python:3.11的镜像

LABEL authors 是维护人信息

WORKDIR 在docker内建立的工作目录,这里是在/home下建立了个MicroServices文件夹

COPY 拷贝指令,这里的. 表示为当前dockerfile所在目录下的所有文件 拷贝到工作目录/home/MicroServices下

RUN 运行指令,不解释, 需要安装的库在req.txt文件中

EXPOSE 暴露端口,这里指的是容器的端口

CMD  容器run的时候默认运行的指令

命令行下启动:

docker run --name fastapi -p 80:7000 -d fastapi_test:v01

宿主机的80端口绑定到了容器的7000端口上


原文地址:https://blog.csdn.net/shankezh/article/details/143242201

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!