如何设置gitlab runner以在gitlab ci中运行docker命令?

如何设置gitlab runner以在gitlab ci中运行docker命令?,docker,gitlab-ci,gitlab-ci-runner,Docker,Gitlab Ci,Gitlab Ci Runner,我尝试配置gitlab runner,以便在我的.gitlab ci.yml文件中使用docker命令 我已经运行了两个容器来实现这一点: gitlab/gitlab-ce:latest gitlab/gitlab runner:alpine 我已将我的注册跑步者设置为特权模式: [[runners]] name=“第一名跑步者” url=”http://my.domain.com:8484/" token=“mySecretToken” 执行者=“码头工人” 克隆url=”http://m

我尝试配置gitlab runner,以便在我的
.gitlab ci.yml
文件中使用docker命令

我已经运行了两个容器来实现这一点:

  • gitlab/gitlab-ce:latest
  • gitlab/gitlab runner:alpine
我已将我的注册跑步者设置为特权模式:

[[runners]]
name=“第一名跑步者”
url=”http://my.domain.com:8484/"
token=“mySecretToken”
执行者=“码头工人”
克隆url=”http://my.domain.com:8484/"
[跑步者。自定义\u构建\u目录]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_验证=错误
image=“node:lts-alpine”
特权=真
禁用\u入口点\u覆盖=false
oom\u kill\u disable=错误
禁用缓存=false
卷=[“/cache”]
shm_尺寸=0
我的管道可以很好地构建和运行测试。现在我想用我的节点构建文件构建nginx docker容器

当我刚刚运行
docker version
命令时,出现了一个错误:

$ docker version
Client: Docker Engine - Community
 Version:           20.10.1
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        831ebea
 Built:             Tue Dec 15 04:28:35 2020
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
error during connect: Get http://docker:2375/v1.24/version: dial tcp: lookup docker on 8.8.8.8:53: no such host
ERROR: Job failed: exit code 1
可能是我的
.gitlab ci.yml中的错误:

服务:
-姓名:docker:dind
阶段:
-建筑
变量:
DOCKER_主机:tcp://docker:2375/
DOCKER_驱动程序:覆盖2
#看https://github.com/docker-library/docker/pull/166
DOCKER_TLS_CERTDIR:“
开发:
阶段:施工
图片:docker:最新
在脚本之前:
-docker版本
脚本:
-回声“测试”
如何配置我的runner以执行docker命令?我的跑步者设置是否错误

谢谢你的回答

根据和评论,有必要将docker.sock添加到卷中,并删除变量和服务。看

My
.gitlab ci.yml

变量:
DOCKER_驱动程序:覆盖2
在脚本之前:
-df
-cat/etc/resolv.conf
-cat/etc/hosts
开发:
图片:docker:最新
在脚本之前:
-docker版本
脚本:
-码头工人信息
My
config.toml

[[runners]]
name=“Synology卓越跑步者”
url=”http://my.domain.com:8484/"
token=“1UsxGPQmxht6zHPb_y2b”
执行者=“码头工人”
克隆url=”http://my.domain.com:8484/"
[跑步者。自定义\u构建\u目录]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_验证=错误
image=“node:lts-alpine”
特权=真
禁用\u入口点\u覆盖=false
oom\u kill\u disable=错误
禁用缓存=false
卷=[“/var/run/docker.sock:/var/run/docker.sock”,“/cache”]
shm_尺寸=0

非常感谢您的回答和支持

如果添加
volumes=[“/var/run/docker.sock:/var/run/docker.sock”、“/cache”]
,会发生什么情况。也许可以帮上忙?谢谢!你帮我省了几个小时!