如何使用官方的docker镜像作为GitLab CI中的服务?

环境:

  • GitLab社区版9.5.2

描述:

我使用node:8.4.0是我的主要形象。 它会在其他工作中做一些Node.js程序,我会在下面忽略它们。

这是我的.gitlab-ci.yml

 image: node:8.4.0 services: - docker:latest stages: - docker_build docker_build_job: stage: docker_build script: - sudo docker build -t my_name/repo_name . - sudo docker images 

问题:

我不能在GitLab运行器中使用docker命令,并获取下面的消息:

 Running with gitlab-ci-multi-runner 9.5.0 (413da38) on ci server running on a VM of PEM5208 (5a0ceca0) Using Docker executor with image node:8.4.0 ... Starting service docker:latest ... Pulling docker image docker:latest ... Using docker image docker:latest ID=sha256:be47faef67c2e5950a540799e72189867b517010ad8ef98aa0181878d81b0064 for docker service... Waiting for services to be up and running... *** WARNING: Service runner-5a0ceca0-project-129-concurrent-0-docker-0 probably didn't start properly. exit code 1 ********* Using docker image sha256:3f7a536cd71bb3049cc0aa12fb3e131a03a33efe2175ffbb95216d264500d1a1 for predefined container... Pulling docker image node:8.4.0 ... Using docker image node:8.4.0 ID=sha256:60bea5b8607945a43b53f5022088a73f2817174e11a3b20f78ea78a45f545d34 for build container... Running on runner-5a0ceca0-project-129-concurrent-0 via ci... Fetching changes... Removing node_modules/ HEAD is now at 472e1e4 Change the version of docker image. From https://here-is-my-domain/my_name/repo_name 472e1e4..df29530 master -> origin/master Checking out 472e1e45 as master... Skipping Git submodules setup Downloading artifacts for build_installation_job (914)... Downloading artifacts from coordinator... ok id=914 responseStatus=200 OK token=fMsaFRzG $ docker build -t my_name/repo_name . /bin/bash: line 48: docker: command not found ERROR: Job failed: exit code 1 

我应该如何修改gitlab-ci的YAML文件,使其成功工作?