【发布时间】:2018-01-10 17:26:21
【问题描述】:
我正在我的项目中使用 gitlab CI,我创建了图像来进行测试和构建。当我在 docker executor 中运行它时,每个作业都需要从开始下载图像。有没有办法在主机上缓存/存储该层?像缓存?我尝试了 store /var/lib/docker/aufs 但我并不是每个人都认为它。在任何地方都找不到任何解决方案。以前有人有这个问题吗?如何使用它?
gitlab-ci.yml
phpunit:
stage: test
script:
- docker run -w /var/www -v $(pwd):/var/custom --rm phpunit/phpunit:4.8.5
gitlab-ci.yml 的卷来自
phpunit:
stage: test
script:
- docker run -w /var/www -v $(pwd):/var/custom --rm --volumes-from {image_from other build} phpunit/phpunit:4.8.5
【问题讨论】:
-
您是否尝试将这一行:
volumes = ["/var/lib/docker"]放入 gitlab-ci-runner 的config.toml文件的[runners.docker]部分?还需要使用disable_cache = false禁用自动缓存 -
是的,我做到了,2 小时后我的跑步者空间不足。因为每个作业都在缓存所有层,但也缓存卷......
-
我现在无法自己测试它,但是安装这样的卷怎么样:
volumes = ["/data/runner/:/var/lib/docker:rw"]。显然,每个主机只允许一个跑步者。
标签: docker gitlab-ci gitlab-ci-runner