我正在玩docker並計劃在GitLab CI環境中使用它來將當前項目狀態打包到容器並提供正在運行的實例以進行評論。我如何讓Docker在持續集成中不使用磁盤空間
我用一個很簡單的Dockerfile如下:
FROM php:7.0-apache
RUN sed -i 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/000-default.conf
COPY . /var/www/html/
現在,只要一個我一個新的(空)文件(touch foobar
)到當前目錄,並再次呼籲
docker build -t test2 --rm .
,會創建一個全新的圖層,其中包含所有的代碼。
如果我不創建一個新文件,舊圖像似乎很好地重用。
我有使用以下Dockerfile
中途的解決方案:
FROM test2:latest
RUN sed -i 's!/var/www/html!/var/www/html/public!g'
/etc/apache2/sites-available/000-default.conf COPY。/var/www/html/
挖掘到that issue並將存儲驅動程序切換爲overlay
後,這似乎是我想要的 - 只有幾個字節被添加爲新層。
但現在我想知道,我如何能夠將它集成到我的CI設置 - 基本上我需要兩個不同的Dockerfiles - 取決於圖像是否已經存在或它不。
有沒有更好的解決方案呢?