LoginSignup
7
3

【Docker】docker pushしたら denied: requested access to the resource is denied となった

Posted at

目次

1. 環境
2. やりたいこと
3. 現在の状況
4. 結論
5. 背景
6. 試したこと
7. 参考

1.環境

  • macOS Ventura 13.5.1
  • Docker version 24.0.5

2.やりたいこと

作成したイメージをDockerHubにプッシュしたい。

3.現在の状況

DockerHubにリポジトリを作成してプッシュしたところ、エラーになった。

PC名 ~ % docker push fuga/my-repo
Using default tag: latest
The push refers to repository [docker.io/fuga/my-repo]
44b26f6970d0: Preparing 
61bbeda53374: Preparing 
denied: requested access to the resource is denied

調べたところ、以下の記事を見つけたのでユーザー名を確認したが、
イメージのユーザー名とDockerHubのユーザー名は同じ(=fuga)だった。

4.結論

Docker DesktopとDockerHubのユーザー名が異なっていた…。

5.背景

  • 新しいPCにDocker Desktopをインストール
  • (以前登録していた)DockerHubと異なる名前にしたので、異なるユーザー名にプッシュしようとしている状態になった

Docker Desktop:hoge
DockerHub:fuga

6.試したこと

イメージを作り直して再度プッシュを行う。

詳細は以下に記載する。

①DockerHubをサインアウト→Docker Desktopと同じアカウントで再度入り直す。
②ログインを行う。(docker login -u ユーザー名 -p パスワード

PC名 ~ % docker login -u hoge -p xxxxxxxx
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded

Logging in with your password grants your terminal complete access to your account. 
For better security, log in with a limited-privilege personal access token. Learn more at https://docs.docker.com/go/access-tokens/

③pushするも、ローカルにイメージがないよとエラーが出る。

PC名 ~ % docker push hoge/my-repo 
Using default tag: latest
The push refers to repository [docker.io/hoge/my-repo]
An image does not exist locally with the tag: hoge/my-repo 

④ローカルのイメージを新しく作り直す。
(IMAGE IDは、先頭の数文字を指定したらOKらしい😲) 

★:作り直したもの

PC名 ~ % docker images
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
fuga/my-repo         latest    b14c78352fa8   4 hours ago    69.2MB
PC名 ~ % docker tag b14 hoge/my-repo:test
PC名 ~ % docker images                               
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
★hoge/my-repo         test      b14c78352fa8   4 hours ago    69.2MB
fuga/my-repo         latest    b14c78352fa8   4 hours ago    69.2MB

docker tag 元のイメージ名 レジストリの場所/命名したいリポジトリ名:タグ名 で、イメージにタグ名を付けて複製している。

⑤再度pushを行う。

PC名 ~ % docker push hoge/my-repo:test
The push refers to repository [docker.io/hoge/my-repo]
44b26f6970d0: Pushed 
61bbeda53374: Pushed 
test: digest: sha256:b9a9564798489074b343d4e46305b010b34267752b3c759fee86e96f8b381c36 size: 736

pushできた!

7.参考

書籍:小笠原種高, 仕組みと使い方がわかるDocker & Kubernetesのきほんのきほん, マイナビ出版, 2021.

7
3
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
7
3