gitlab-runner dind require me to docker login, but I have already login
Summary
I use dind way to deploy my ci process, but even I follow the doc https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-in-docker-executor, the console still propose the info:ERROR: Job failed: Error response from daemon: pull access denied for ops-reg.xxxx.com/ops/sbt, repository does not exist or may require 'docker login' (executor_docker.go:175:30s). By the way, I use my private harbor to manage the repo, and I had already login outside the gitlab-runner container.
Steps to reproduce
.gitlab-ci.yml
before_script:
- docker info
variables:
GITLAB_REGISTRY: ops-reg.XXXX.com
REPO_NAME: ${CI_PROJECT_NAME}
SBT_OPTS: "-Dsbt.global.base=/root/sbt-cache/.sbtboot -Dsbt.boot.directory=/root/sbt-cache/.boot -Dsbt.ivy.home=/root/sbt-cache/.ivy"
SBT_CACHE_DIR: "/root/sbt-cache/.ivy/cache"
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
stages:
- build_doc
- setup_vars
- deploy
setup_vars:
image: ops-reg.XXXX.com/ops/bash:3
stage: setup_vars
script:
- mkdir vars
- echo "export RANCHER_SECRET_KEY=$nonprod_RANCHER_SECRET_KEY" >> vars/variables
- echo "export RANCHER_ACCESS_KEY=$nonprod_RANCHER_ACCESS_KEY" >> vars/variables
artifacts:
paths:
- vars/
only:
- container
build_doc:
image: ops-reg.XXXX.com/ops/sbt:v0.13.16-2.11.11-docker
services:
- docker:dind
stage: build_doc
script:
- cp far_seer_run/src/main/resources/repositories /root/.sbt/repositories
- docker_repo=far_seer_run
- docker login -u admin -p admin $GITLAB_REGISTRY
- sbt clean stage docker:publishLocal
- TAG=$(sh bin/sbtversion)
- echo $TAG
- echo $GITLAB_REGISTRY/3rd/$docker_repo:$TAG
- docker build -t $GITLAB_REGISTRY/3rd/$docker_repo:$TAG .
- docker push $GITLAB_REGISTRY/3rd/$docker_repo:$TAG
- docker build -t $GITLAB_REGISTRY/3rd/$docker_repo .
- docker push $GITLAB_REGISTRY/3rd/$docker_repo
only:
- container
- develop
deploy:
image: $GITLAB_REGISTRY/ops/rancher-compose:0.6.11
stage: deploy
script:
- source vars/variables
- cd bin/ ; sh deploy.sh ${CI_COMMIT_REF_SLUG}
only:
- container
job log
Running with gitlab-runner 11.11.2 (ac2a293c)
on My Docker Runner 60e00612
Using Docker executor with image ops-reg.XXXX.com/ops/sbt:v0.13.16-2.11.11-docker ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
Using docker image sha256:bed64de70fa1f4d0b5a498791647c45d954cb0306ec2852dbcfb956f4ff3b0d6 for docker:dind ...
Waiting for services to be up and running...
Pulling docker image ops-reg.XXXX.com/ops/sbt:v0.13.16-2.11.11-docker ...
ERROR: Job failed: Error response from daemon: pull access denied for ops-reg.XXXX.com/ops/sbt, repository does not exist or may require 'docker login' (executor_docker.go:175:30s)
Environment description
config.toml contents
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "My Docker Runner"
url = "https://oa-git.xxxx.com/"
token = "60e00612d25f5c09d37b3266916f1b"
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 = ["/cache"]
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
Used GitLab Runner version
Running with gitlab/gitlab-runner:latest (b71d79a1df17)
Using Docker executor with image docker:dind (bed64de70fa1)
Possible fixes
Edited by triThirty