加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

python – Docker如何运行pip require.txt只有有变化?

发布时间:2020-12-16 03:44:53 所属栏目:安全 来源:网络整理
导读:在Docker文件中,我有一个安装require.txt的图层: FROM python:2.7RUN pip install -r requirements.txt 无论对该文件进行任何更改,当我构建码头服务器映像时都会运行整个过程. 如果文件有更改,我该如何确保Docker只运行pip install -r requirements.txt? R

在Docker文件中,我有一个安装require.txt的图层:

FROM python:2.7
RUN pip install -r requirements.txt

无论对该文件进行任何更改,当我构建码头服务器映像时都会运行整个过程.

如果文件有更改,我该如何确保Docker只运行pip install -r requirements.txt?

Removing intermediate container f98c845d0f05
Step 3 : RUN pip install -r requirements.txt
 ---> Running in 8ceb63abaef6
Collecting https://github.com/tomchristie/django-rest-framework/archive/master.zip (from -r requirements.txt (line 30))
  Downloading https://github.com/tomchristie/django-rest-framework/archive/master.zip
Collecting Django==1.8.7 (from -r requirements.txt (line 1))
我假设在构建过程的某个时刻,您将使用COPY或ADD将整个应用程序复制到Docker映像中:

COPY . /opt/app
WORKDIR /opt/app
RUN pip install -r requirements.txt

问题在于,您每次将整个应用程序复制到映像中时,无效Docker构建缓存.这也将使所有后续构建步骤的缓存无效.

为了防止这种情况,我建议在将整个应用程序添加到映像之前,单独构建步骤中只复制require.txt文件:

COPY requirements.txt /opt/app/requirements.txt
WORKDIR /opt/app
RUN pip install -r requirements.txt
COPY . /opt/app
# continue as before...

由于需求文件本身可能很少更改,您可以使用缓存的图层,直到将应用程序代码添加到图像中为止.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读