docker - 如何修复因一般错误而失败的 docker 服务?
问题描述
我有一个问题,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,因此需要配置证书:
- 添加你的config.toml (/etc/gitlab-runner/)
[[runners]]
environment = ["DOCKER_TLS_CERTDIR="]
- 添加你的gitlab-ci.yml(来自项目)
variables:
DOCKER_TLS_CERTDIR: ""
这将提供用于查找证书并正常运行的强制性配置,即使它们尚未设置(现在或曾经)。
它将暂时解决您的问题,希望在未来的 docker 镜像中得到修复。
希望这可以帮助 :)
推荐阅读
- python - 在 Python 中使用正则表达式从文本中提取列表
- javascript - 如何隐藏底部Css
- docker - 通过 Wireguard 将 Docker 上的 Nextcloud 与 NAS 连接
- javascript - 如何用承诺占据点击事件?
- swift - 尝试在 swiftUI 中定义 Capsule 框架高度时,框架尺寸无效(负数或非有限)
- excel - VBA Excel - 计算包含特定日期的行
- java - 计算二维子数组中的真数
- java - 使用 API 从 android 设备连接到数据库
- c++ - 如何保证分离的 C++ 线程的终止?
- python - 我需要帮助,但我已经完成了基本代码,但我无法将数据文件链接到代码