belkin_aa
@belkin_aa
Обо мне: https://clck.ru/ge9cs

Как организовать виртуальное окружение внутри образа Docker для Python?

Не получается собрать образ контейнера для Python. Выдает ошибку:

ERROR: Service 'app' failed to build: The command '/bin/sh' -c pip install --upgrade pip && pip install -r -requirements.txt' returned a non-zero code:127


В инете нашел [инструкцию][1], нотам написано:

Создание Flask приложения
Для начала создадим простое Flask-приложение. Необходимо создать пустой каталог для нашего проекта, в котором будут
содержаться все файлы проекта. Внутри каталога создать виртуальное окружение и активировать его:


Получается, что в инструкции виртуальное окружение пайтон будет не в контейнере. Как его в контейнер закинуть?

Дoкер же на сколько я понимаю вообще предполагает не установку стороннего софта. А тут получается что на компе должен быть Python.

Docker Python:
FROM python:3.9-alpine

WORKDIR /app

ADD . /app

ENV VIRTUAL_ENV "/venv"

RUN python -m venv $VIRTUAL_ENV

ENV PATH "VIRTUAL_ENV/bin:$PATH"

RUN pip install --upgrade pip && -m pip install -r requirements.txt

EXPOSE 5000

CMD ['uwsgi', 'app.ini']

[1]: https://cloud.mail.ru/public/PFT8/GRwLzPvJK
  • Вопрос задан
  • 1122 просмотра
Решения вопроса 1
bestuzheff
@bestuzheff
Программист 1С
А зачем вообще внутри контейнера делать virtual environments?
Ты взял образ python:3.9-alpine, т.е. у тебя внутри уже стоит python.
Потом
WORKDIR /app
Копируем requirements.txt в папку /app
COPY requirements.txt requirements.txt
Устанавливаем пакеты
RUN pip3 install -r requirements.txt

Потом копируем все стальное что нужно в папку /app
И потом запуск CMD
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы