search
LoginSignup
32

More than 3 years have passed since last update.

posted at

updated at

docker login での Sign in について

docker login での Sign in について

現象

macOS で docker-compose を使って docker pull 中に、次のようなエラーが発生。

unauthorized: authentication required

ブラウザで https://registry-1.docker.io/v2/library/memcached/manifests/1.4.34-alpine にアクセスしたときにも authentication required みたいなエラーが出るので、それと同じですね。

Docker for Mac のメニューを見るとログインできているんだが。。
ネットを検索すると docker login すればいいよ、みたいな情報が出てくる。なるほど、 Docker for Mac のログインとはリンクしているようなしていないような関係なのか。

docker login を試してみる。が、メールアドレスを入れると、認証失敗。

$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: xxxxxxxxxxxxxxx@gmail.com
Password:
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password

ユーザ名だと、認証成功。

$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: xxxxxxxxxxxxxxx
Password:
Login Succeeded

認証成功後は docker pull も通るようになりました。

Docker registry への Sign in

Docker for Mac のメニューからの Sign in の場合、以下のいずれの組み合わせでも認証成功しました。 (Docker Cloud も同様)

  • ユーザ名 / パスワード
  • メールアドレス / パスワード

ところが、 docker login を使った場合、以下の組み合わせでしか認証通りませんでした。

  • ユーザ名 / パスワード

docker login の Reference 見てみると、 v17.03 の時点では、 --email, -e option というのがある。なるほど、これにメールアドレスを渡せばよかったのか。。

だがしかし、 v17.06 を見てみると、 --email option が消えてる!!

調べてみると、もともとあった --email option は、 email との組み合わせでログインするのではなく、該当ユーザが作成されていなかった場合に、指定した email でユーザを作成しますよ、という機能で v17.06 でその機能自体が削除されたらしい。

つまりは docker login の場合は必ず ユーザ名 / パスワード でログインしてくださいということですね!ひいては Docker for Mac の場合もその組み合わせでログインしたほうが良さそう。

References

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
What you can do with signing up
32