Я пытаюсь построить конвейер CI в GitLab. Я хотел бы спросить о docker для работы в GitLab CI.
из этого выпуска: https://gitlab.com/gitlab-org/gitlab-runner/issues/4501#note_195033385
Я следую инструкциям для обоих пути. С TLS и не используется TLS. Но это все еще застряло. Который в той же ошибке
Невозможно подключиться к демону Docker по tcp: // localhost: 2375 /. Работает ли docker демон
Я пытался устранить эту проблему. следуйте ниже,
1) включить TLS
, который использовал .gitlab-ci.yml и config.toml для включения TLS в Runner.
Это мой .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="]
У кого-нибудь есть идеи?