0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

docker push時に`no basic auth credentials`になった場合の対処メモ

Posted at

問題点

AWS ECRにsudo docker pushを実行した際にno basic auth credentialsとなる。

$ aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com
WARNING! Your password will be stored unencrypted in /home/User/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credential-stores

Login Succeeded

$ sudo docker push 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/repository:tag
The push refers to repository [123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/repository]
dc63303095c5: Preparing
5513cf32130a: Preparing
1c44f9d6c008: Preparing
cb42413394c4: Preparing
no basic auth credentials

環境

Windows11 + WSL2(Ubuntu 24.04.1) + Docker Engine(27.3.1)

  • Docker for Windowsは未導入
  • docker credential helper は未導入
  • Dockerユーザーグループにユーザー追加はしていない(dockerコマンド実行にsudoが必要な状態)

Docker Engineのインストールは以下から実施
Install Docker Engine on Ubuntu #install-using-the-repository

原因

docker push コマンドはsudoを付けていたのに対し、
docker login コマンドにはsudoを付けていなかったため。

docker loginsudoがなくても実行できてしまうようで、sudoの有無で認証情報の格納先が変わる。
 →sudoを付けなかった場合:~/.docker/config.json
 →sudoを付けた場合:/root/.docker/config.json
docker pushの際にはsudoをつけていたため、/root/.docker/config.jsonに認証情報がなくエラーとなっていた。

$ aws ecr get-login-password --region ap-northeast-1 | sudo docker login --username AWS --password-stdin 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com
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/#credential-stores

Login Succeeded

sudo docker loginとすると、WARNINGの認証情報の格納先も/root配下に変わっている。

参考

以下記事を参考にさせていただきました。本記事も似た構成となっておりますが、原因が別でしたので記録として残させていただきます。

その他参考

紹介されている原因はいずれもあてはまらなかった。

  • 別のリージョンに対して認証されている
  • プッシュ先として認証したリポジトリに対するアクセス許可がない
  • トークンの有効期限が切れた
  • wincred 認証情報マネージャーのバグ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?