Я использую pipenv
для моего django
приложения.
$ mkdir djangoapp && cd djangoapp
$ pipenv install django==2.1
$ pipenv shell
(djangoapp) $ django-admin startproject example_project .
(djangoapp) $ python manage.py runserver
Теперь я перехожу к среде докера.
Согласно моему пониманию pipenv
устанавливает пакеты только внутриvirtualenv
Вам не нужен виртуальный env внутри контейнера, docket-контейнер сам по себе является виртуальной средой.
Позже, пройдя через множество Dockerfile 'si обнаружил --system
параметр для установки в системе.
Например, я нашел следующее:
https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/
COPY ./Pipfile /usr/src/app/Pipfile
RUN pipenv install --skip-lock --system --dev
https://hub.docker.com/r/kennethreitz/pipenv/dockerfile
# -- Install dependencies:
ONBUILD RUN set -ex && pipenv install --deploy --system
https://wsvincent.com/beginners-guide-to-docker/
# Set work directory
WORKDIR /code
# Copy Pipfile
COPY Pipfile /code
# Install dependencies
RUN pip install pipenv
RUN pipenv install --system
Так что --system
достаточно или --deploy --system
- лучший способ.И --skip-lock --system --dev
, что опять по-другому.
Так может кто-нибудь подсказать, как вернуть мою среду обратно в мой докер