无法在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 .`