无法在unix:///var/run/docker.sock连接到Docker守护程序.docker守护程序是否正在运行

use*_*361 7 docker gitlab-ci

我正在使用gitlab ci进行持续集成,我想对我的代码运行单元测试,然后构建一个docker镜像然后进行部署.但我面临的问题是如何在gilab ci中运行docker服务.

我收到这个错误

"Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running"
Run Code Online (Sandbox Code Playgroud)

在我的docker build命令运行之后.我需要在gitlab-ci中安装docker吗?

这是我的.gitlab-ci.yml文件

image: node:latest

before_script:

stages:
  - test
  - production
  - clean_up

services:
  - docker:dind

test:
  stage: test
  script:
    - npm install
    - npm install -g swagger
    - npm test

production:
  type: deploy
  stage: production
  image: docker:latest
  script:
    - docker build -t testimage -t testimage:latest .
    - docker tag testimage docker.abc.xyz.com/testimage
    - docker push docker.abc.xyz.com/testimage
  only:
    - development

clean_up_job:
  stage: clean_up
  script:
    - rm -rf node_modules
    - npm uninstall -g swagger
  when: on_failure
Run Code Online (Sandbox Code Playgroud)

我目前没有使用GitLab Runner.

Izy*_*orr 2

尝试将其放入工作servicesproduction,如下所示:

production:
  type: deploy
  stage: production
  image: docker:latest
  services:
    - docker:dind
  script:
    - docker build -t testimage -t testimage:latest .
    - docker tag testimage docker.abc.xyz.com/testimage
    - docker push docker.abc.xyz.com/testimage
  only:
    - development
Run Code Online (Sandbox Code Playgroud)