我使用Python_onbuild作爲dockerfile中的基礎鏡像,如下所示。但是,無論何時在源文件中進行更改,都會導致我的命令重複失效。哪個Python變體在dockerfiles中用作基礎圖像?
FROM python:2.7.13-onbuild
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN echo "Test Cache"
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --assume-yes apt-utils
RUN apt-get update && apt-get install -y curl
RUN apt-get update && apt-get install -y unzip
RUN curl -o - url
構建日誌:
Sending build context to Docker daemon 239.1kB
Step 1/6 : FROM python:2.7.13-onbuild
# Executing 3 build triggers...
Step 1/1 : COPY requirements.txt /usr/src/app/
---> Using cache
Step 1/1 : RUN pip install --no-cache-dir -r requirements.txt
---> Using cache
Step 1/1 : COPY . /usr/src/app
---> 13e927036649
複製(Step 1/1 : COPY . /usr/src/app)
正在重複命令的其餘部分,每當我做了工作目錄中的任何文件發生變化的這第三步。我認爲這是來自基本映像的ONBUILD命令。如果那是真的,那麼這種情況下的替代基礎圖像是什麼?我應該使用Python嗎?
我想要更多地控制需求安裝以及複製過程,因爲我必須下載3.6GB的文件,我不希望每次構建docker時都重複該文件。
注意:這個特定的基礎圖像是由其他人選擇的,我正在建立一些現有的工作之上。
您可以將源複製部分移動到dockerfile的末尾。以及之前的安裝過程,以便您在每次更改源代碼時都沒有安裝。 – viveksyngh
@viveksyngh我無法更改複製部分,因爲它由基礎圖像處理。您可以看到它在我的dockerfile中沒有顯式複製命令。 – utengr