개인 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_CONFIG
docker 데몬에 대한 변수를 설정해야 합니다.
/etc/docker/config.json
{
"auths": {
"my.private.registry": {
"auth": "xx=="
}
}
}