相关疑难解决方法(0)

我怎样才能让gitlab-ci-runner的DinD图像缓存中间图像?

我有一个Dockerfile,从安装texlive-full软件包开始,这是一个巨大的,需要很长时间.如果我docker build在本地,安装后创建的中间图像被缓存,后续构建很快.

但是,如果我推送到我自己的GitLab安装并启动GitLab-CI构建运行器,这似乎总是从头开始,重新下载FROM映像,再次执行apt-get安装.这对我来说似乎是一个巨大的浪费,所以我试图弄清楚如何让GitLab DinD图像在构建之间缓存中间图像,到目前为止没有运气.

我已经使用了尝试--cache-dir,并--docker-cache-dirgitlab-runner register命令,都无济于事.

这甚至是gitlab-runner DinD图像应该能够做到的吗?

我的.gitlab-ci.yml:

build_job:
    script:
    - docker build --tag=example/foo .
Run Code Online (Sandbox Code Playgroud)

我的Dockerfile:

FROM php:5.6-fpm
MAINTAINER Roel Harbers <roel.harbers@example.com>
RUN apt-get update && apt-get install -qq -y --fix-missing --no-install-recommends texlive-full
RUN echo Do other stuff that has to be done every build.
Run Code Online (Sandbox Code Playgroud)

我使用GitLab CE 8.4.0和gitlab/gitlab-runner:latest作为跑步者

docker run -d --name gitlab-runner --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /usr/local/gitlab-ci-runner/config:/etc/gitlab-runner \
    gitlab/gitlab-runner:latest \
; …
Run Code Online (Sandbox Code Playgroud)

gitlab docker gitlab-ci gitlab-ci-runner

36
推荐指数
1
解决办法
9633
查看次数

标签 统计

docker ×1

gitlab ×1

gitlab-ci ×1

gitlab-ci-runner ×1