无法通过tcp:// docker:2375连接到Docker守护程序。泊坞窗守护程序正在运行吗?通过Gitlab CI

时间:2019-10-18 09:47:48

标签: docker gitlab gitlab-ci

在Gitlab CI中,当我要推送图像时,我得到:

Cannot connect to the Docker daemon at tcp://docker:2375. Is the docker daemon running?

代码如下:

docker-push:
  stage: publish
  image: docker:stable
  services:
    - docker:dind
  before_script:
    - *inject-gopath
    - docker login -u gitlab-ci-token -p $GITLAB_PERSONAL_ACCESS_TOKEN $REGISTRY_URL
    # $CI_BUILD_TOKEN
  script:
    - docker build --build-arg GITLAB_TOKEN=${GITLAB_PERSONAL_ACCESS_TOKEN} --target=prod -t $REGISTRY_PACKAGE_API_NAME:$CI_BUILD_ID .
    - docker build --build-arg GITLAB_TOKEN=${GITLAB_PERSONAL_ACCESS_TOKEN} --target=prod -t $REGISTRY_PACKAGE_API_NAME:latest .
    - docker push $REGISTRY_PACKAGE_API_NAME:$CI_BUILD_ID
    - docker push $REGISTRY_PACKAGE_API_NAME:latest

以下是输出:

Pulling docker image docker:stable ...
Using docker image sha256:23fb2c9b38b59433ea1913eafa12d2e15651ca0d08819dc7067d27d8f92e0428 for docker:stable ...
Running on runner-wmKFtEwx-project-7124308-concurrent-0 via ubuntu...
Fetching changes...
Removing release/
HEAD is now at 9c4894a Merge branch '5-supprimer-les-threads' into 'master'
Checking out 9c4894af as master...
Skipping Git submodules setup
Downloading artifacts for build (324707453)...
Downloading artifacts from coordinator... ok        id=324707453 responseStatus=200 OK token=SVLY__Jy
$ mkdir -p $(dirname ${PACKAGE_PATH}) && ln -s ${CI_PROJECT_DIR} ${PACKAGE_PATH} && cd ${PACKAGE_PATH}
$ docker login -u gitlab-ci-token -p $GITLAB_PERSONAL_ACCESS_TOKEN $REGISTRY_URL
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
$ docker build --build-arg GITLAB_TOKEN=${GITLAB_PERSONAL_ACCESS_TOKEN} --target=prod -t $REGISTRY_PACKAGE_API_NAME:$CI_BUILD_ID .
Cannot connect to the Docker daemon at tcp://docker:2375. Is the docker daemon running?
ERROR: Job failed: exit code 1

奇怪的是我在映像docker-stable中,因此我应该有可用的docker,并且上一步docker login运行良好...

是Gitlab的错误,还是我做错了什么?

PD:我正在使用Gitlab.com

PD2:我可以手动推送图像而没有任何问题

1 个答案:

答案 0 :(得分:1)

根据评论,这只是一个GitLab问题。 没有任何保证,只要有自由奔跑的人,它就会一直有效。在这种情况下,docker守护进程不可用,因此您的构建将一直失败,直到在GitLab检测到错误后重新启动运行器为止。

请注意,这是我的假设,因为通常会出现错误,然后在几个小时后错误消失了。如您所见,我的Gitlab Forums Thread还没有收到任何人的答复,因此,我认为您无法解决此问题。如果任务很关键,那么请运行您自己的跑步者,这样您就可以在失败时重新启动