使用 python:3.9 作为基础镜像
FROM python:3.9
MAINTAINER Your Name <your.email@example.com>
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir -r /app/requirements.txt
EXPOSE 80
CMD ["python", "app.py"]
多阶段构建
- 阶段1(builder): 使用
python:3.9
作为基础镜像,将应用程序的代码复制到镜像中,然后安装依赖项并构建应用程序。构建好的文件将保存在 /usr/local/lib/python3.9/site-packages
和 /app
目录中。 - 阶段2: 使用
python:3.9-slim
作为基础镜像,只包含运行应用程序所需的最小依赖项。从前一个阶段中复制构建好的文件,包括依赖项和应用程序代码
FROM python:3.9 AS builder
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir -r /app/requirements.txt
RUN python setup.py install
FROM python:3.9-slim
WORKDIR /app
COPY --from=builder /usr/local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages
COPY --from=builder /app /app
EXPOSE 80
CMD ["python", "/app/app.py"]