Есть ли способ получить команду docker -compose для автоматической генерации моего Django needs.txt? - PullRequest
0 голосов
/ 12 февраля 2020

Я использую Django 2 и Python 3.7. У меня есть следующая структура каталогов.

web
    - Dockerfile
    - manage.py  
    + maps  
    - requirements.txt  
    + static  
    + tests  
    + venv

"needs.txt" - это просто файл, который я сгенерировал, запустив "pip3 freeze> needs.txt". У меня есть приведенный ниже Dockerfile для моего Django контейнера ...

FROM python:3.7-slim

RUN apt-get update && apt-get install

RUN apt-get install -y libmariadb-dev-compat libmariadb-dev
RUN apt-get update \
    && apt-get install -y --no-install-recommends gcc \
    && rm -rf /var/lib/apt/lists/*

RUN python -m pip install --upgrade pip
RUN mkdir -p /app/

WORKDIR /app/

pip3 freeze > requirements.txt
COPY requirements.txt requirements.txt
RUN python -m pip install -r requirements.txt

COPY . /app/

Мне было интересно, есть ли способ построить мой контейнер так, чтобы он автоматически генерировал и копировал правильный файл needs.txt. Как вы можете догадаться, строка

pip3 freeze > requirements.txt

, которую я попытался включить выше, приводит к тому, что все это значение d ie при запуске "docker -compose build" с ошибкой

ERROR: Dockerfile parse error line 15: unknown instruction: PIP3

1 Ответ

0 голосов
/ 12 февраля 2020

Это не имеет смысла, так как ваша среда на docker контейнере будет пустой и перезапишет ваши требования. Txt

Вы также пропустили команду

RUN pip3 freeze > requirements.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...