Пример, когда не использовать виртуальную среду в контейнере Docker может вызвать проблемыLinux

Ответить
Anonymous
 Пример, когда не использовать виртуальную среду в контейнере Docker может вызвать проблемы

Сообщение Anonymous »

Я понимаю, что не существует четкого решения о передовой практике о том, использовать или не использовать виртуальную среду в контейнере Docker для одного приложения Python. < /p>
Все еще я решил использовать виртуальную среду В контейнере Docker, поскольку это имеет смысл для меня изолировать приложение и его зависимости от ОС, аналогичное тому, что вы делаете в среде разработки без контейнеров. >: < /p>

Код: Выделить всё

FROM docker.io/library/ubuntu:24.04

ENV APPENV=/appenv
ENV PYTHONPATH=/app
WORKDIR /app

# OS + python packages
RUN apt-get update && \
apt-get install -y --no-install-recommends python3.12 python3-virtualenv curl\
&& rm -rf /var/lib/apt/lists/*

RUN virtualenv ${APPENV} -p python3.12 && \
. ${APPENV}/bin/activate && \
pip install pip --upgrade

# entrypoint.sh will run the /bin/activate
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh

# app python dependencies
COPY requirements.txt requirements.txt
RUN . ${APPENV}/bin/activate &&  \
${APPENV}/bin/pip3.12 install -r requirements.txt

EXPOSE 8000
COPY ./app /app

ENTRYPOINT ["entrypoint.sh"]
CMD ["fastapi", "run"]
и entrypoint.sh :
#! /usr/bin/env sh
. /appenv/bin/activate
exec "$@"
< /code>
Тем не менее, мне не удастся воспроизводить возможную проблему, которую решает виртуальная среда в контейнере Docker. < /p>
Есть ли способ доказать Это преимущества использования виртуальной среды в контейнере Docker перевешивают сложность Dockerfile?

Подробнее здесь: https://stackoverflow.com/questions/794 ... -cause-iss
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»