簡體   English   中英

避免不斷重建Docker映像

[英]Avoid contantly rebuild docker image

我正在使用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"]

我的項目結構:

.
├── Dockerfile
├── requirements.txt
├── run
└── src
    ├── stuff

在需求中,我放置了plotlypytestpython-igraph 事實是, python-igraph卡在這部分上

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

在相當長的一段時間內,但最終它會拉取數據並生成圖像。 但是,如此長時間每次重建項目都是不可接受的。

提取彼此不依賴的模塊的正確方法是什么?

當我寫最后一句話時,我知道發生了什么。 每次我重建應用程序時,請COPY . /app 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 無論如何,我要離開這里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM