![GitLab Runner: DOCKER_AUTH_CONFIG가 설정되었음에도 기본 인증 자격 증명이 없습니다.](https://linux55.com/image/148375/GitLab%20Runner%3A%20DOCKER_AUTH_CONFIG%EA%B0%80%20%EC%84%A4%EC%A0%95%EB%90%98%EC%97%88%EC%9D%8C%EC%97%90%EB%8F%84%20%EA%B8%B0%EB%B3%B8%20%EC%9D%B8%EC%A6%9D%20%EC%9E%90%EA%B2%A9%20%EC%A6%9D%EB%AA%85%EC%9D%B4%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
개인 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=="
}
}
}