【问题标题】:docker-compose not downloading additions to requirements.txt filedocker-compose 不下载 requirements.txt 文件的附加内容
【发布时间】:2017-03-06 17:53:00
【问题描述】:

我有一个在 docker 中运行的 Django 项目。 当我将一些包添加到我的 requirments.txt 文件时,当我运行 docker-compose up 时它们不会被下载

这是我的 Dockerfile 中的相关命令:

ADD ./evdc/requirements.txt /opt/evdc-venv/
ADD ./env-requirements.txt /opt/evdc-venv/

# Active venv
RUN . /opt/evdc-venv/bin/activate && pip install -r /opt/evdc-        venv/requirements.txt
RUN . /opt/evdc-venv/bin/activate && pip install -r /opt/evdc-venv/env-requirements.txt

似乎 docker 正在使用我的 requirements.txt 文件的缓存版本,因为当我进入容器时,/opt/evdc-venv/requirements.txt 中的 requirements.txt 文件不包含新包。 有什么方法可以删除这个缓存版本的 requirements.txt 吗?

  • 开发操作系统:Windows 10
  • Docker:17.03.0-ce
  • 码头工人撰写:1.11.2

【问题讨论】:

    标签: django docker docker-compose


    【解决方案1】:

    docker-compose up 不会构建新映像,除非您使用 Dockerfile 定义了 build 部分并将其传递给 --build 参数。没有它,它将重用现有图像。

    如果您的 docker-compose.yml 不包含构建部分,并且您使用 docker build ... 构建镜像,那么在您重新创建镜像后,docker-compose up 将重新创建受影响的容器。

    【讨论】:

    • 或者你可以 docker-compose build
    • 是的,只在我的回答中忽略了这一点,因为这是第一个场景中的一个额外步骤,并且当您在 docker-compose 中没有构建部分时在第二个场景中不起作用.yml。但是假设您有一个构建部分,那也可以。
    • 是的。有时你想建造,有时你想启动一切,有时你想要两者:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    相关资源
    最近更新 更多