为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

侃侃无极 2021-11-30 16:15:08
我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/PipfileRUN pipenv install --skip-lock --system --devhttps://hub.docker.com/r/kennethreitz/pipenv/dockerfile# -- Install dependencies:ONBUILD RUN set -ex && pipenv install --deploy --systemhttps://wsvincent.com/beginners-guide-to-docker/# Set work directoryWORKDIR /code# Copy PipfileCOPY Pipfile /code# Install dependenciesRUN pip install pipenvRUN pipenv install --system所以--system只有足够的或--deploy --system更好的方法。这--skip-lock --system --dev又是不同的。那么有人可以指导如何将我的环境恢复到我的 Docker 中
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

典型的 Docker 部署将涉及拥有一个requirements.txt(它是一个文件,您可以在其中存储 pip 依赖项,包括 Django 本身)文件,然后在您的文件中Dockerfile执行以下操作:


FROM python:3.7  # or whatever version you need

ADD requirements.txt /code/

WORKDIR /code

# install your Python dependencies

RUN pip install -r requirements.txt

# run Django

CMD [ "python", "./manage.py", "runserver", "0.0.0.0:8000"]


您根本不需要pipenv这里,因为您不再像您所说的那样拥有虚拟环境。


更好的是你可以在一个docker-compose.yml文件中配置很多这样的东西,然后docker-compose用来运行和管理你的服务,而不仅仅是 Django。


Docker有一个很好的关于使用它dockerising Django 的教程。如果您不确定Dockerfile本身发生了什么,请查看手册


查看完整回答
反对 回复 2021-11-30
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信