GitLab Runner: DOCKER_AUTH_CONFIG가 설정되었음에도 기본 인증 자격 증명이 없습니다.

GitLab Runner: DOCKER_AUTH_CONFIG가 설정되었음에도 기본 인증 자격 증명이 없습니다.

개인 Docker 레지스트리를 사용하여 gitlab 러너 서비스를 설정하려고 합니다. 문서에 따르면 DOCKER_AUTH_CONFIG 환경 변수를 설정하고 docker 인증 자격 증명으로 채우는 것으로 충분합니다.

동시성 = 2 확인 간격 = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "docker-shared-2"
  url = "https://gitlab.easybell.de/"
  token = "SDRWmUtpfVNb4c4xMicf"
  executor = "docker"
  environment = ["DOCKER_AUTH_CONFIG={ \"auths\": { \"xxxx\": { \"auth\": \"xxxx=\" } } }"]
  [runners.docker]
    tls_verify = false
    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]

이 구성을 사용하면 gitlab ci 작업이 다음 오류와 함께 계속 실패합니다.

ERROR: Preparation failed: Error response from daemon: Get https://xxx: no basic auth credentials (executor_docker.go:168:0s)

이 설정을 작동시키는 것 외에 누락되었거나 필요한 것이 있습니까?

답변1

gitlab 실행기 구성에서 변수를 설정하는 대신 DOCKER_AUTH_CONFIGdocker 데몬에 대한 변수를 설정해야 합니다.

/etc/docker/config.json

{
  "auths": {
      "my.private.registry": {
        "auth": "xx=="
      }
  }
}  

관련 정보