自定义Gitlab跑步者失败 - 无法连接到Docker守护程序
这些是我遵循的步骤来设置自定义的GitLab跑步者:
-
通过在此处按照说明来安装GitLab Runner: https://docs.gitlab.com/runner/install/linux-repository.html
-
注册
docker
exectuor和docker的跑步者:19
image> image> image 写
gitlab-ci.yml
如下:
image: docker:19.03.1
services:
- name: docker:19.03.1-dind
alias: docker
stages:
- build
build:
stage: build
variables:
IMAGE_TAG: repo.azurecr.io/some-repo
DOCKER_HOST: tcp://172.17.0.1:2375
DOCKER_TLS_CERTDIR: ''
script:
- docker login someacr.azurecr.io -u "$SERVICE_PRINCIPAL_USER" -p "$SERVICE_PRINCIPAL_PASSWORD"
- if [[ "$CI_COMMIT_REF_NAME" == "develop" ]]; then docker build -t $IMAGE_TAG .; fi
- 运行管道引发以下错误:
Login succeeded
if [[ "$CI_COMMIT_REF_NAME" == "develop" ]]; then docker build -t $IMAGE_TAG .; fi
Cannot connect to the Docker daemon at tcp://172.17.0.1:2375. Is the docker daemon running?
Cleaning up project directory and file based variables
00:02
ERROR: Job failed: exit code 1
这是我到目前为止尝试的:
-
特权:true
in/etc/gitlab -runner/config.toml
-
dind:19
docker Imagegitlab-ci.yml
- 添加
卷= [“/var/run/run/docker)。 sock/var/run/docker.sock“”“/cache”]
in/etc/gitlab-runner/config.toml
- 使用
docker_tls_certdir:''
in' ingitlab-ci.yml
作为变量 docker_host
带有docker_host的变量:tcp://172.17.0.1.1:2375
- 更多...
填充 更改导致GitLab Runner在此处进行故障排除的两个问题中的任何一个:
- docker:无法连接到tcp:// docker:2375。 Docker守护程序在运行吗?
- Docker没有这样的主机错误。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的
docker_host
变量值不正确。使用
Docker_host:“ TCP:// Docker:2375”
添加卷= [“ /var/run/docker.sock/var/run/docker.sock”“/cache var/run/docker.sock 在此处的跑步者配置。当利用
docker:dind
服务容器方法时,这不是必需的。但是,从技术上讲,它不会引起问题。这些更改很好,请继续进行这些更改。
Your
DOCKER_HOST
variable value is not correct.Use
DOCKER_HOST: "tcp://docker:2375"
I would recommend removing the volume mount of
/var/run/docker.sock
from the runner configuration here. This is not necessary when leveraging thedocker:dind
service container method. Though, it technically won't cause issues.These changes are good, keep these changes.
为了使Docker:Dind在Gitlab CI中遇到最小问题,必须正确设置四个参数:
示例部分.gitlab-ci.yml文件将是:
In order to have the least issues with docker:dind within a gitlab ci, four parameters have to be correctly set:
A sample partial .gitlab-ci.yml file would be: