【发布时间】:2021-01-03 18:48:40
【问题描述】:
我尝试配置 gitlab runner,以便在我的.gitlab-ci.yml 文件中使用 docker 命令。
我已经运行了 2 个容器来做到这一点:
gitlab/gitlab-ce:latestgitlab/gitlab-runner:alpine
我已将我的注册跑步者设置为特权模式:
[[runners]]
name = "first runner"
url = "http://my.domain.com:8484/"
token = "mySecretToken"
executor = "docker"
clone_url = "http://my.domain.com:8484/"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "node:lts-alpine"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
我的管道可以很好地构建和运行测试。现在我想用我的节点构建文件构建 nginx docker 容器。
当我刚刚运行docker version 命令时,出现了错误:
$ docker version
Client: Docker Engine - Community
Version: 20.10.1
API version: 1.41
Go version: go1.13.15
Git commit: 831ebea
Built: Tue Dec 15 04:28:35 2020
OS/Arch: linux/amd64
Context: default
Experimental: true
error during connect: Get http://docker:2375/v1.24/version: dial tcp: lookup docker on 8.8.8.8:53: no such host
ERROR: Job failed: exit code 1
也许这是我的.gitlab-ci.yml 的错误:
services:
- name: docker:dind
stages:
- construction
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
# See https://github.com/docker-library/docker/pull/166
DOCKER_TLS_CERTDIR: ""
deploiement:
stage: construction
image: docker:latest
before_script:
- docker version
script:
- echo "test"
如何配置我的跑步者来执行 docker 命令?我的跑步者设置是否错误?
感谢您的回答!
【问题讨论】:
-
如果你添加
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]会发生什么。 -
也许this thread 可以帮忙?
标签: docker gitlab-ci gitlab-ci-runner