docker - 连接期间的 Docker 错误:发布 http://docker:2375/v1.40/build?
问题描述
我docker+machine
用来运行我的gitlab
ci/cd 作业。
所以我的.gitlab-ci.yml
样子如下:
stages:
- RUN_TESTS
image:
name: docker:stable
services:
- name: docker:dind
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
build-docker:
stage: RUN_TESTS
script:
- echo "Running the tests..."
- docker build -t run-tests .
这完全适用于docker:dind
将图像设置为service
块的情况,如上所示。
现在有趣的部分来了,我需要docker:dind
图像中的一些其他包。所以我写了Dockerfile
如下:
FROM docker:dind
RUN apk update
ENV PYTHONUNBUFFERED=1
RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python
RUN python3 -m ensurepip
RUN pip3 install --no-cache --upgrade pip setuptools
RUN apk add groff
RUN pip3 install awscli
RUN apk --purge -v del py-pip
RUN rm /var/cache/apk/*
因此,我构建了上面的图像并将其推送到我的 dockerhub 中。
到目前为止,一切都很酷。镜像构建成功,推送成功。
然后我将其中的内容更改services
为.gitlab-ci.yml
我的新图像,如下所示:
services:
- name: 199508/dind-new:latest
我运行了管道,我得到了下面的错误。
我在下面遇到的这个错误很奇怪:
连接期间出错:发布 http://docker:2375/v1.40/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory= 0&memswap=0&networkmode=default&rm=1&session=n6fvaaoisom3ny2cfozrlom50&shmsize=0&t=run-tests&target=&ulimits=null&version=1:拨号tcp:查找docker on:没有这样的主机
我所做的唯一更改是在上面安装了一些应用程序/依赖项,Dockerfile
但为什么它不起作用?为什么当我使用它时它正在工作,而当我使用相同的基本图像docker:dind
创建一个新的并且它不起作用时?Dockerfile
docker:dind
有人可以帮帮我吗?
解决方案
其实我昨天刚遇到这个问题主要是切换到docker镜像版本在你的情况下在Dockerfile中不像这里
FROM docker:18.09
并更改端口:注释掉的行是曾经对我不起作用的行。
image: 199508/dind-new:v5
services:
# - docker:19.03.12-dind
- docker:18.09-dind
variables:
# Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
DOCKER_HOST: tcp://docker:2375/
# DOCKER_HOST: tcp://docker:2376
# DOCKER_TLS_CERTDIR: "/certs"
DOCKER_TLS_CERTDIR: ""
CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest
DOCKER_DRIVER: overlay2
推荐阅读
- javascript - mongoDB中的增量值
- java - Observable merge() 检测触发了哪个 observable
- php - Wordpress 儿童主题 - Shopisle 更改大标题
- oop - 存储库模式:泛型与多态的实现方式
- python - 在 obj+mtl+jpg 3D 文件中,如何获取将应用 jpg 文件中特定像素的 3D 坐标?
- c# - 在 C# 中使用 Powershell cmdlet 从 AzureAD 获取特定用户详细信息
- android - Android Studio,Volley 我没有收到 JSON 响应
- python - 在 resnet 模型中拟合图像时的尺寸问题
- mongodb - 如何将嵌套的 mongodb 表转换为 spark 数据框
- ffmpeg-php - 如何在 Android 中使用 FFMPEG 稳定视频