【发布时间】:2015-07-05 00:51:04
【问题描述】:
我正在尝试将 docker 集成到我的 django 工作流程中,除了一个非常烦人的问题外,我已经完成了所有设置。如果我想将依赖项添加到我的 requirements.txt 文件中,我基本上只需要重建整个容器映像以使这些依赖项保持不变。
例如,我遵循了 django here 的 docker-compose 示例。 yaml文件是这样设置的:
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
用于构建 Web 容器的 Docker 文件是这样设置的:
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
因此,当为此容器构建镜像时,requirements.txt 会安装其中最初包含的任何依赖项。
如果我使用它作为我的开发环境,那么将任何新的依赖项添加到该 requirements.txt 文件变得非常困难,因为我必须重建容器才能安装 requirements.txt 中的更改。
在 django 社区中是否有某种最佳实践来处理这个问题?如果不是,我会说 docker 在应用程序完成后看起来非常适合打包应用程序,但用作开发环境并不是很好。重建容器需要很长时间,因此浪费了很多时间。
我感谢任何见解。谢谢。
【问题讨论】:
标签: python django docker pip docker-compose