2016-04-02 136 views
0

我目前正在構建一個docker鏡像並運行容器,以在它正在運行的某個Python應用程序中運行一些測試。目前Dockerfile從主機複製文件,將工作目錄設置爲複製文件,運行sudo-apt獲取並安裝pip,最後從setup.py運行測試。 Dockerfile可以在下面看到。如何構建Docker鏡像quciker

`FROM ubuntu 

ADD . /home/dev/ProjectName 

WORKDIR /home/dev/ProjectName 

RUN apt-get update && \ 
    apt-get install -y python3-pip && \ 
    python3 setup.py test 

`

我很好奇,如果有辦法避免運行更傳統的方式使用apt-get和apt-get每次我想運行一個測試時間安裝點子。我的主要想法是用pip製作一個圖像,然後從那個圖像上創建這個圖像。

+0

添加到接受的答案,任何時候你想要改變你的Dockerfile,但想要最小化構建時間,將更改添加到Dockerfile的末尾,以便Docker儘可能多地重用緩存。 Docker將從第一行重建進行更改。 –

回答

2

如果可以,Docker使用緩存層進行構建。通過添加已更改的文件,將使所有後續規則的緩存失效。首先放置apt命令,這些命令僅在第一次生成時運行。有關更多信息,請參閱this blog