我的总体目标是安装一个自托管 gitlab-runner,它被限制只能使用我自己的 docker 注册表中准备好的 docker 镜像。
为此,我有一个 system.d 配置,如下所示:
/etc/systemd/system/docker.service.d/allow-private-registry-only.conf
BLOCK_REGISTRY='--block-registry=all'
ADD_REGISTRY='--add-registry=my.private.registry:8080'
这样,docker pull
只能从 my.private.registry/
中提取图像。
在我设法让它工作后,我想清理我的本地注册表并删除旧的 docker images
。正是在这个过程中,我偶然发现了一个名为 gitlab/gitlab-runner-helper
的 docker 映像,它大概是 gitlab-runner 本身使用的某个组件,并且大概是从 docker.io
中提取的。
现在我想知道在使用 gitlab-runner 时是否可以/建议阻止来自 docker.io
的图像?
感谢任何提示!
答案 0 :(得分:1)
gitlab-runner-helper
图像由 GitLab Runner to handle Git, artifacts, and cache operations 用于 docker
、docker+machine
或 kubernetes
执行器。
如果您更喜欢从私有注册表中提取映像,您可以override the helper image。您的配置可能是:
[[runners]]
(...)
executor = "docker"
[runners.docker]
(...)
helper_image = "my.private.registry:8080/gitlab/gitlab-runner-helper:tag"
请确保该映像存在于您的注册表中,或者您的配置启用代理 docker hub 或 registry.gitlab.com
。最后,您至少需要运行 Gitlab runner 13.7 版并启用 FF_GITLAB_REGISTRY_HELPER_IMAGE
功能标志。