【发布时间】:2020-07-21 03:20:06
【问题描述】:
我正在尝试在 GitLab 中构建 CI 管道。我想问一下在 GitLab CI 中工作的 docker。
来自这个问题:https://gitlab.com/gitlab-org/gitlab-runner/issues/4501#note_195033385
两种方式我都遵循说明。使用 TLS 而未使用 TLS。 但它仍然卡住了。同样的错误
无法连接到位于 tcp://localhost:2375/ 的 Docker 守护程序。 docker 守护进程是否正在运行
我已尝试解决此问题。跟着下面,
1) 启用 TLS
其中使用 .gitlab-ci.yml 和 config.toml 在 Runner 中启用 TLS。
这是我的 .gitlab-ci.yml
image: docker:19.03
variables:
DOCKER_HOST: tcp://localhost:2375/
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "/certs"
IMAGE_NAME: image_name
services:
- docker:19.03-dind
stages:
- build
publish:
stage: build
script:
- docker build -t$IMAGE_NAME:$(echo $CI_COMMIT_SHA | cut -c1-10) .
- docker push $IMAGE_NAME:$(echo $CI_COMMIT_SHA | cut -c1-10)
only:
- master
这是我的 config.toml
[[runners]]
name = MY_RUNNER
url = MY_HOST
token = MY_TOKEN_RUNNER
executor = "docker"
[runners.custom_build_dir]
[runners.docker]
tls_verify = false
image = "docker:stable"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/certs/client", "/cache"]
shm_size = 0
2) 禁用 TLS
.gitlab-ci.yml
image: docker:18.09
variables:
DOCKER_HOST: tcp://localhost:2375/
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
IMAGE_NAME: image_name
services:
- docker:18.09-dind
stages:
- build
publish:
stage: build
script:
- docker build -t$IMAGE_NAME:$(echo $CI_COMMIT_SHA | cut -c1-10) .
- docker push $IMAGE_NAME:$(echo $CI_COMMIT_SHA | cut -c1-10)
only:
- master
这是我的 config.toml
[[runners]]
environment = ["DOCKER_TLS_CERTDIR="]
有人知道吗?
【问题讨论】:
标签: docker gitlab gitlab-ci gitlab-ci-runner