无需 Docker-in-Docker 的私有 Gitlab Runner 代码质量
Posted
技术标签:
【中文标题】无需 Docker-in-Docker 的私有 Gitlab Runner 代码质量【英文标题】:Private Gitlab Runner for code quality without Docker-in-Docker 【发布时间】:2021-09-03 05:42:33 【问题描述】:我想在我们的存储库中运行代码质量小部件。实际上我想在我的 kubernetes 集群上注册一个 gitlab 运行器来执行 docker 构建。我正在尝试通过 Kubernetes Helm Charts 安装 gitlab 运行器。
这是我的舵图:`
gitlabUrl: https://blabla/
runnerRegistrationToken: blabla
runners:
config: |
[[runners]]
[runners.docker]
tls_verify = false
image = "docker:stable"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock", "/tmp/builds:/tmp/builds"]
shm_size = 0
[runners.cache]
Type = "s3"
Path = "runner"
Shared = true
[runners.cache.s3]
ServerAddress = "s3.amazonaws.com"
BucketName = "blabla"
BucketLocation = "us-west-1"
Insecure = false
imagePullPolicy: IfNotPresent
不幸的是,这不起作用。我得到输出 Cannot connect to the Docker daemon at tcp://localhost:2375。 docker 守护进程是否正在运行?
谁能帮助解决这个问题的正确配置?
我的来源是:
https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html#set-up-a-private-runner-for-code-quality-without-docker-in-docker
https://docs.gitlab.com/runner/install/kubernetes.html
https://gitlab.com/gitlab-org/charts/gitlab-runner/blob/master/values.yaml
提前致谢。你是我最后的希望
【问题讨论】:
【参考方案1】:docker daemon 错误可以使用以下代码解决:
privileged = true
【讨论】:
以上是关于无需 Docker-in-Docker 的私有 Gitlab Runner 代码质量的主要内容,如果未能解决你的问题,请参考以下文章
从 GitLab CI 运行器连接到 docker-in-docker
docker-in-docker (dind) 服务在 gitlab ci 中的作用
Docker-in-Docker 与 Gitlab 共享运行器,用于构建和推送 docker 镜像到注册表