pipenv --docker 的系统选项。在 docker 中获取所有 python

我pipenv用于我的django应用程序。


$ mkdir djangoapp && cd djangoapp

$ pipenv install django==2.1

$ pipenv shell

(djangoapp) $ django-admin startproject example_project .

(djangoapp) $ python manage.py runserver

现在我正在转移到 docker 环境。


根据我的理解,pipenv只在一个virtualenv


您不需要容器内的虚拟环境,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又是不同的。


那么有人可以指导如何将我的环境恢复到我的 Docker 中


侃侃无极
浏览 248回答 1
1回答

绝地无双

典型的 Docker 部署将涉及拥有一个requirements.txt(它是一个文件,您可以在其中存储 pip 依赖项,包括 Django 本身)文件,然后在您的文件中Dockerfile执行以下操作:FROM python:3.7  # or whatever version you needADD requirements.txt /code/WORKDIR /code# install your Python dependenciesRUN pip install -r requirements.txt# run DjangoCMD [ "python", "./manage.py", "runserver", "0.0.0.0:8000"]您根本不需要pipenv这里,因为您不再像您所说的那样拥有虚拟环境。更好的是你可以在一个docker-compose.yml文件中配置很多这样的东西,然后docker-compose用来运行和管理你的服务,而不仅仅是 Django。Docker有一个很好的关于使用它dockerising Django 的教程。如果您不确定Dockerfile本身发生了什么,请查看手册。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python