harbor auth problem

Thank you for reading this post, don't forget to subscribe!

пой­мал сле­ду­ю­щую проблему:
есть harbor, создал в нём про­ект , создал robot поль­зо­ва­те­ля, авто­ри­зу­юсь с локаль­ной тач­ки всё ок:

echo 5tMe4thRmmNCKnyWG6R0APa5 | docker login harbor.test.local -u 'robot$user-test' --password-stdin
WARNING! Your password will be stored unencrypted in /home/mid/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credential-stores

Login Succeeded

но при попыт­ке авто­ри­зо­вать­ся с сер­ве­ра где запус­ка­ет­ся runner я лов­лю ошибку:

Error response from daemon: Get "https://harbor.test.local/v2/": unauthorized: authentication required

про­бле­ма заклю­ча­лась в ста­рой вер­сии docker. Что­бы отде­ба­жить локаль­но мож­но вос­поль­зо­вать­ся dind

docker run -d --privileged --name dind -e DOCKER_TLS_CERTDIR= docker:24-dind
docker exec -it dind sh
/ # echo 5tMCKnyWG6R0APa5 | docker login harbor.test.local -u 'robot$user-test' --password-stdin

Error response from daemon: Get "https://harbor.test.local/v2/": unauthorized: authentication required

 

мини­мум нуж­на вер­сия 25

docker run -d --privileged --name dind -e DOCKER_TLS_CERTDIR= docker:25-dind

:#docker exec -it dind sh
/ # echo 5tMenyWG6R0APa5 | docker login harbor.test.local -u 'robot$user-test' --password-stdin

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

на сер­ве­ре обнов­ля­ем толь­ко нуж­ные для доке­ра пакеты:

apt-get update
apt-get install --only-upgrade docker-ce docker-ce-cli containerd.io docker-compose-plugin