GitLab CI/CD 使用共享运行器的配置问题

GitLab CI/CD configuration problem using shared runners

我在 GitLab CI/CD 配置方面遇到问题 - 我在 GitLab 上使用免费的 运行ners it self。 我有使用 docker 的 joomla(测试)项目 - 我正在学习它是如何工作的。 我创建了 .gitlab-ci.yml

image: docker:latest
services:
  - docker:dind

在文件顶部。

在测试阶段,我想要 运行 docker 在构建阶段创建的图像。 当我添加:

services:
    - mariadb:latest

到测试阶段我总是get Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 在 docker 拉命令。没有它,我在 docker 运行 命令 lack of MySql server

的 joomla 图像初始化过程中出错

我们将不胜感激。

如果你设置

services:
    - mariadb:latest 

在您的 test 作业中,这将覆盖全局定义的 services。因此,docker 守护程序在 test 期间不是 运行。这也解释了为什么在省略 test 作业的 services 定义时不会出现 Docker 守护程序错误。

也可以为 test 作业指定 docker:dind 服务,或者删除本地 services 定义并将 mariadb 添加到全局 services 定义中。