无法连接到位于的Docker守护程序tcp://docker:2375. docker守护进程正在运行吗?通过Gitlab CI在docker中推送

无法连接到位于的Docker守护程序tcp://docker:2375. docker守护进程正在运行吗?通过Gitlab CI在docker中推送,docker,gitlab,gitlab-ci,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

在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登录
工作正常

是来自Gitlab的bug,还是我做错了什么

我正在使用Gitlab.com


PD2:我可以手动推送图像,没有任何问题。根据评论,这只是GitLab的问题。 对于一个自由奔跑者来说,这并不能保证它永远有效。在这种情况下,docker deamon不可用,因此您的构建将一直失败,直到GitLab检测到错误时运行程序重新启动


请注意,这是我的假设,因为错误经常会出现,但几小时后就消失了。正如你所看到的,我也没有收到任何人的回复,所以我恐怕我认为你无法解决这个问题。如果任务关键,则运行您自己的runner,以便在出现故障时重新启动它

尝试
导出DOCKER\u主机=”tcp://localhost:2375“
在docker build命令之前。您使用的是free runner还是您自己的runner?如果您自己需要确保docker配置良好,但我也看到过类似的问题。例如,我有时确实会遇到这些错误,它们是暂时的,你可以在GitLab上打开一张罚单forum@JuliatzindelToro这只是GitLab的问题。对于一个自由奔跑者来说,这并不能保证它永远有效。在这种情况下,docker deamon不可用,因此您的构建将一直失败,直到GitLab检测到错误时运行程序重新启动。请注意,这是我的假设,因为错误经常会出现,但几小时后就消失了。正如你所看到的,我的Gitlab论坛线程没有收到任何人的回复,所以我恐怕我认为你无法解决这个问题。如果任务关键,则运行您自己的runner,以便在出现故障时使用
-docker:18 dind
而不是
-docker:dind
重新启动它。docker:dind应该可以解决您的问题。还有一个bug在内存中打开gitlab@Bizmate我认为你是对的,你应该把你的评论作为答案!