无法在GitLab Runner中为GCloud SDK docker映像运行DIND

无法在GitLab Runner中为GCloud SDK docker映像运行DIND,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,我已经设置了一个简单的.gitlab ci文件,该文件应该能够运行docker服务: docker: image: google/cloud-sdk:latest variables: DOCKER_DRIVER: overlay2 DOCKER_HOST: tcp://127.0.0.1:2375 services: - docker:dind tags: - docker script: - docker pull buster-s

我已经设置了一个简单的
.gitlab ci
文件,该文件应该能够运行docker服务:

docker:
  image: google/cloud-sdk:latest
  variables:
    DOCKER_DRIVER: overlay2
    DOCKER_HOST: tcp://127.0.0.1:2375
  services:
    - docker:dind
  tags:
    - docker
  script:
    - docker pull buster-slim
但是,它失败了,因为:

服务显然已正确启动,但随后无法工作:

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

问题在于docker守护进程不是您为此作业指定的image
google/cloud sdk/
的一部分。您应该使用google/CloudSDK创建自己的映像作为基础映像。您还可以在作业的
before\u script
部分安装并启动docker。有关您使用的图像,请参见:

安装附加组件

默认情况下,所有gcloud组件都安装在默认映像上(google/cloud sdk:latest和google/cloud sdk:VERSION)。 google/cloud sdk:slim和google/cloud sdk:alpine映像不包含预安装的其他组件

您可以按照以下说明扩展这些图像: 基于Debian的图像


问题在于docker守护进程不是您为此作业指定的image
google/cloud sdk/
的一部分。您应该使用google/CloudSDK创建自己的映像作为基础映像。您还可以在作业的
before\u script
部分安装并启动docker。有关您使用的图像,请参见:

安装附加组件

默认情况下,所有gcloud组件都安装在默认映像上(google/cloud sdk:latest和google/cloud sdk:VERSION)。 google/cloud sdk:slim和google/cloud sdk:alpine映像不包含预安装的其他组件

您可以按照以下说明扩展这些图像: 基于Debian的图像


可以使用DIND的映像是
docker:DIND
,不一定是
google/cloud-sdk:latest
,因此您的
.gitlab ci.yml
wold看起来像:

docker:
图片:docker:dind
变量:
DOCKER_驱动程序:覆盖2
服务:
-码头工人:丁
标签:
-码头工人
脚本:
-docker pull buster slim
# ...
#我不知道需要建造什么。。。

您可以查看此步骤的配方。

可以使用DIND的图像是
docker:DIND
,不一定是
google/cloud sdk:latest
,因此您的
.gitlab ci.yml
wOld看起来像:

docker:
图片:docker:dind
变量:
DOCKER_驱动程序:覆盖2
服务:
-码头工人:丁
标签:
-码头工人
脚本:
-docker pull buster slim
# ...
#我不知道需要建造什么。。。

您可以查看这一步的配方。

事实上,这不起作用的唯一原因是:

DOCKER_主机:tcp://docker:2375


dind
服务可以在
cloud sdk
映像中运行,但它需要作为
主机链接

事实上,这不起作用的唯一原因是:

DOCKER_主机:tcp://docker:2375

dind
服务可以在
cloudsdk
映像中运行,但它需要作为
主机链接

Cannot connect to the Docker daemon at tcp://127.0.0.1:2375. Is the docker daemon running?
cd debian_slim/
docker build --build-arg CLOUD_SDK_VERSION=159.0.0
    --build-arg INSTALL_COMPONENTS="google-cloud-sdk-datastore-emulator" \
    -t my-cloud-sdk-docker:slim .`