避免继续重建docker imag

2024-04-25 04:07:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Docker开发一个应用程序。我的Dockerfile如下所示:

FROM python:3.7.0
WORKDIR /app
COPY . /app
RUN apt-get -y update && apt-get -y install apt-utils build-essential libxml2-dev zlib1g-dev python-dev python-pip pkg-config libffi-dev libcairo-dev
RUN pip install -r requirements.txt
CMD ["./run"]

我的项目结构:

^{pr2}$

在需求中,我把plotlypytest和{}。问题是,python-igraph卡在这部分

Running setup.py bdist_wheel for python-igraph: started
Running setup.py bdist_wheel for python-igraph: still running...

在相当长的一段时间内,但最终它会提取数据并生成图像。然而,每次重建项目这么长时间是不可接受的。在

什么是正确的方法以某种方式提取相互不依赖的模块?在


Tags: installpip项目runpydevappfor
1条回答
网友
1楼 · 发布于 2024-04-25 04:07:26

当我写最后一句话的时候,我知道发生了什么。每次我重建应用程序时,COPY . /app都在“读取”新文件,而且由于docker层的原因,当第一层发生变化时,下一层都必须重新构建。现在,我的Dockerfile是这样的:

FROM python:3.7.0
RUN apt-get -y update && apt-get -y install apt-utils build-essential libxml2-dev zlib1g-dev python-dev python-pip pkg-config libffi-dev libcairo-dev
WORKDIR /app
COPY requirements.txt /app
RUN pip install -r requirements.txt
COPY . /app
CMD ["./run"]

每次下载python-igraph的需要已经不复存在了。我无论如何都要把这个留在这里。在

相关问题 更多 >