diff --git a/Dockerfile b/Dockerfile index 5b9e7a4..4739c3f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,29 @@ -FROM python:3.8.6-alpine +# 安装依赖阶段 +FROM python:3.8.6-slim as build -RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories +RUN mkdir /install -RUN apk update && apk add python3-dev gcc libc-dev libffi-dev +WORKDIR /install -RUN apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev +COPY requirements.txt . + +RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list + +RUN apt-get update \ + && apt-get install gcc -y \ + && apt-get clean + +RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --prefix=/install + +# 应用启动 +FROM python:3.8.6-slim + +COPY --from=build /install /usr/local + +COPY . /app WORKDIR /app -COPY . . - -RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ - ENV FAST_API_ENV=dev -CMD ["/usr/local/bin/uvicorn", "main:fast_api_app", "--reload", "--host", "0.0.0.0"] +CMD ["/usr/local/bin/uvicorn", "main:fast_api_app", "--reload", "--host", "0.0.0.0", "--port", "21021"]