我正在尝试在 Windows 10 PC 上设置 gitlab CI。
我为 gitlab 创建了一个 docker 容器(卷是 docker 卷)
docker run --detach --name gitlab --hostname gitlab.mod --publish 4443:443 --publish 4480:80 --publish 8222:22 --volume gitlab-conf:/etc/gitlab --volume gitlab-logs:/var/log/gitlab --volume gitlab-data:/var/opt/gitlab gitlab/gitlab-ce
另一个给运行者
docker run -d --name gitlab-runner -v gitlab-runner-conf:/etc/gitlab-runner gitlab/gitlab-runner:latest
挂号的
docker run --rm -t -i -v gitlab-runner-conf:/etc/gitlab-runner gitlab/gitlab-runner register --url "http://11.22.33.44:4480/" --registration-token "sEcrEttOkEnfOrgItlAb" --description "Runner" --executor "docker" --docker-image alpine:latest --docker-services postgres:latest
其中 11.22.33.44 是我电脑的 IP
但是当我推送我的提交时,我有一个错误
Running with gitlab-runner 12.5.0
on Runner
ERROR: Job failed (system failure): Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (executor_docker.go:980:0s)
如果我设置参数以在端口 2375 上公开 docker:
settings > General > Expose daemon on tcp://localhost:2375
在运行器容器中的/etc/gitlab-runner/config.toml 中:
[runners.docker]
host = "tcp://11.22.33.44:2375"
我有几乎相同的错误信息:
Running with gitlab-runner 12.5.0 (577f813d)
on Runner
ERROR: Job failed (system failure): Cannot connect to the Docker daemon at tcp://11.22.33.44:2375. Is the docker daemon running? (executor_docker.go:980:1s)
我不明白这是从哪里来的。
我尝试了一些在互联网上找到的解决方案,但到目前为止,没有任何效果。
我在哪里可以找到一些日志文件,看看会发生什么?我查看了 gitlab 容器/var/log/gitlab 日志文件,但我找不到任何关于 2 个容器之间的详细信息。
gitlab 主机名、“localhost”名称、计算机 IP 之间是否存在问题?某处的防火墙?这是一个类似于我所见过的所有问题的问题吗?运行者是否得到了他必须执行的工作但 gitlab 没有听到答案?
到目前为止,我尝试的大多数事情都使情况变得更糟,我需要一些提示
我的 .gitlab-ci.yml (非常简单):
variables:
HELLO: World
test:
script:
- echo $HELLO
我的配置
Docker Desktop Community edition 2.0.0.3 (Engine 18.09.2)
GitLab Community Edition 12.5.2
Gitlab Runner 12.5.0
Windows 10.0.17763
谢谢
最佳答案
如果您的目标是注册一个 docker 执行器,一种简单的方法是运行命令 gitlab-runner.exe register
并按照交互式说明进行操作,它将填满您的 config.toml
当您尝试使用 时也会出现此错误。 docker 图像中的 docker 当您运行图像以执行 docker 命令时。
在这种情况下,使用的运行器标签必须将特权设置为 true,并且在您的 gitlab-ci 文件中,您可以定义一个变量 DOCKER_DRIVER: overlay
或 DOCKER_DRIVER: overlay2
关于docker - 错误 : Job failed (system failure): Cannot connect to the Docker daemon at unix:///var/run/docker. socks 。 docker 守护进程是否正在运行?在 Windows 10 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59422889/