错误: 作业失败(系统故障): 无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。Windows 10 上的 Docker 守护程序正在运行吗?

6 浏览
0 Comments

错误: 作业失败(系统故障): 无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。Windows 10 上的 Docker 守护程序正在运行吗?

我正在尝试在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

另一个用于runner的容器

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

并在runner容器的/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日志文件中搜索过,但是我找不到任何关于这两个容器之间的详细信息。

gitlab主机名、"localhost"名称、计算机IP之间是否存在问题?是否有防火墙?这是一个类似于我看到的所有问题的问题吗?执行程序是否接收到他必须执行的作业,但是gitlab没有收到答案?

迄今为止,我尝试的大部分事情都使情况变得更糟,我需要一些提示。

我的.gitlab-ci.yml(非常简单):

variables:

HELLO: World

test:

script:

- echo $HELLO

我的配置:

Docker桌面社区版2.0.0.3(Engine 18.09.2)
GitLab社区版12.5.2
Gitlab Runner 12.5.0
Windows 10.0.17763

谢谢

0
0 Comments

问题的原因是无法连接到Docker守护进程,解决方法是在Docker运行命令时添加选项--net=host,并将服务器IP作为容器IP。

在Windows 10上使用Docker时,有时会出现无法连接到Docker守护进程的错误。这可能是因为守护进程没有运行,或者存在其他连接问题。解决这个问题的方法是在Docker运行命令中添加选项--net=host,并将服务器IP作为容器IP。这样,守护进程就可以通过服务器IP被GitLab识别。

具体的解决方法是,在运行命令中添加选项--net=host,如下所示:

docker run --net=host [其他选项] [镜像名称]

其中,[其他选项]是其他运行时需要的选项,[镜像名称]是要使用的镜像名称。

这个解决方法适用于Linux主机,对于Windows主机,可以尝试参考Stack Overflow上的解决方案,链接如下:stackoverflow.com/questions/40746453

0
0 Comments

这个问题的出现的原因是无法连接到Docker守护程序,可能是因为Docker守护程序没有运行。要解决这个问题,可以进行以下配置:

1. 打开GitLab Runner的配置文件(路径为/etc/gitlab-runner/config.toml)。

2. 在配置文件中找到[[runners]]部分。

3. 在[runners.docker]下添加host字段,并设置为"tcp://docker.for.win.localhost"或者"tcp://10.0.75.1"

4. 保存配置文件并重启GitLab Runner。

这样配置之后,应该可以解决无法连接到Docker守护程序的问题。然而,有可能还会遇到其他错误,如"ERROR: Preparation failed: Error response from daemon: The requested URL /v1.25/info was not found on this server"。

0
0 Comments

问题的原因是Docker守护程序未在Windows 10上运行。解决方法是通过以下步骤来启动Docker守护程序:

1. 打开Docker Desktop for Windows的设置。

2. 转到“General”选项卡,并确保“Expose daemon on tcp://localhost:2375 without TLS”选项已选中。

3. 单击“Apply & Restart”按钮以保存更改并重新启动Docker守护程序。

这样,Docker守护程序将在Windows 10上运行,并且GitLab Runner将能够连接到它。

0