我正在玩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 - 取决于图像是否已经存在或它不。
有没有更好的解决方案呢?