如何修复因一般错误而失败的 docker 服务?

How to fix docker services failing with generic error?

我有一个问题,其中 Gitlab CI 作业失败并出现如下错误: docker: 无法连接到位于 tcp://docker:2375 的 Docker 守护程序。 docker 守护程序是 运行 吗?

这并没有真正说明什么,也没有任何意义,因为可以在本地建立连接并且命令按预期工作。

命令:build / login / push(在 gitlab-ci.yml 中设置),但在使用我们服务器上配置的自定义 gitlab-runners 时它们不起作用。

你对此有什么建议吗?

谢谢!

你好,

几天前我遇到了同样的问题,找到解决方案的机会很小/很有限。

这实际上是一个已知问题,您可以在此处找到所有详细信息:https://gitlab.com/gitlab-org/gitlab-runner/issues/4501

在你的容器中使用 docker:latest 肯定会导致你在某些时候遇到这个问题。


简答(如果是这种情况):

Docker 19.03 默认启用TLS,因此需要配置证书:

  1. 加入你的config.toml (/etc/gitlab-runner/)

[[runners]] environment = ["DOCKER_TLS_CERTDIR="]

  1. 在你的gitlab-ci.yml中添加(来自项目)

variables: DOCKER_TLS_CERTDIR: ""


这将提供用于查找证书和 运行 的强制性配置,即使它们尚未设置(尚未或永远)。

它将暂时解决您的问题,希望在以后的docker 图像中得到解决。

希望这对您有所帮助:)