Ошибка при выполнении pipeline в GitLab
Имеется вот такая часть в .gitlab-ci.yml:
build_image: stage: build image: docker:20.10.16 services: - docker:20.10.16-dind variables: DOCKER_TLS_CERTDIR: "/certs" before_script: - docker login -u $REGISTRY_USER -p $REGISTRY_PASS script: - docker build -t $IMAGE_NAME:$IMAGE_TAG . - docker push $IMAGE_NAME:$IMAGE_TAG
При выполнении этой части получил ошибку:
WARNING! Using --password via the CLI is insecure. Use --password-stdin. 59error during connect: Post "http://docker:2375/v1.24/auth": dial tcp: lookup docker on 10.10.10.11:53: no such host 61ERROR: Job failed: exit code 1
Ошибка относится к хосту, где запущен runner.
Она описана в официальной иснтрукции GitLab — https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#docker-no-such-host-error, но описанное там решение для меня не сработало.
Нашёл вот такое решение:
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
Нашёл тут — https://serverfault.com/questions/1052496/docker-login-to-aws-ecr-from-gitlab-ci-fails-with-dial-tcp-lookup-docker-on-x
Эту строчку надо прописать в config.toml (в моём случае надо было поправить такую строчку как описано выше, у меня было значение только "/cache"
.
У меня rinner сделан по инструкции GitLab, конфиг находится в /etc/gitlab-runner/config.toml.