将虚拟环境从slimimage复制到alpineimage并运行

2024-05-23 18:44:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在slim映像中生成包,然后将生成的包复制到alpine映像。为此,我创建了Dockerfile:

FROM python:3.8.7-slim AS builder

ENV POETRY_VIRTUALENVS_CREATE=false
WORKDIR /app
RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y libldap2-dev  # for python-ldap
RUN apt-get install -y libsasl2-dev  # for python-ldap
COPY poetry.lock pyproject.toml ./
RUN python -m pip install --upgrade pip && pip install poetry && poetry install --no-dev

FROM python:3.8.7-alpine3.13 AS runtime
COPY --from=builder /root/* /root/
WORKDIR /app
COPY pythonapline .
#RUN python manage.py makemigrations && python manage.py migrate
EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

默认情况下poetry在目录~/.cache/pypoetry/virtualenvs (Linux)中创建虚拟环境

运行运行时映像时,我收到导入错误。似乎应该激活复制的虚拟环境或类似的东西


Tags: installpiprunfrompydevgetpoetry