月に一度ぐらいDockerのアップデートが報告されて、いつも使っているMacにインストールしてあるDockerDesktopも更新されています。
WEB開発を行う時に、Dockerがインストールされているだけで、簡単にWEBサーバー環境を構築することができるので、もはや必須アイテムになってしまったDockerですが、少し前から「pull」操作を行なうとエラーが出るようになってしまいました。
そんなDockerでpullできなくなった時の対策がわかったので、メモしておきます。
pullエラーの詳細
基本的にはsearchコマンドで検索して、ヒットしたイメージをpullするワケですが、以下のような状態になってしまいました。
ちなみに、検索しているイメージは「EC-cube」の案件の為、検索1番目をpullしようとしています。
$ docker search eccube
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
eccube/mysql51 MySQL 5.1 for EC-CUBE Codeception. 2 [OK]
eccube/postgres Docker image for PostgreSQL extended locale … 1 [OK]
eccube/php7-ext-codeception Docker image for Codeception with additional… 1 [OK]
eccube/php-ext-apache Docker image for php:*-apache with additiona… 1 [OK]
eccube/postgres84 PostgreSQL 8.4 for EC-CUBE Codeception. 1 [OK]
eccube/upgrade-fixer EC-CUBE Upgrade Fixer 1 [OK]
r00tapple/eccube 0
ebusinessdocker/eccube 0
cyberblack/eccube 0
ouyou/eccube3.0.0-php7v1 0
nanasess/eccube-2_17-php-fpm EC-CUBE2.17 on php:7.2-fpm-stretch 0 [OK]
ouyou/eccube3.0.10-php7v1 0
eccube/mock-package-api Mock Package API 0
rdyayo/eccube 0
tomckysan/eccube-dev 0
matsubo/eccube eccube test image 0
skazuki/debian-php-apache-eccube Lightweight ec-cube docker image on debian 0
tkmatsuo/eccube2 0
tabenguyen/eccube4-apache 0
rkmix893/eccube Installed EC-CUBE Image 0
ebusinessdocker/eccube_plugin_updater 0
kicompany/eccube3 0
bfstaff02/eccube 0
tkmatsuo/eccube 0
tabenguyen/eccube4-mysql 0
$ docker pull eccube/mysql51
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/eccube/mysql51/manifests/latest: unauthorized: incorrect username or password
なんと「incorrect username or password」と言われていますね。「ユーザーネームかパスワードが違います」とのことですが、インストールしているアプリにはちゃんとsininしている状態です。
原因はメールアドレスログイン
色々調べてわかったのは、アプリケーションでのログインはメールアドレスログインではなく、usernameログインでないといけないようです。
システム的にはほぼバグですが、とりあえずシステムルールに従いusernameでログインしてみたところ、問題なくpullすることができました。
$ docker pull eccube/mysql51
Using default tag: latest
latest: Pulling from eccube/mysql51
32c4f4fef1c6: Pull complete
88feb465cbe2: Pull complete
7bcc9f55ae5e: Pull complete
d867d6a7dfe7: Pull complete
a1873816e708: Pull complete
bfde5fb9e72c: Pull complete
62ef7ea16195: Pull complete
aa5687cf5cf6: Pull complete
6499ace990f2: Pull complete
a7e6e7062f8c: Pull complete
Digest: sha256:9f7e3fe204c677461641dcc11121283545a499e27f1d50b34f14f04b5ca24ff0
Status: Downloaded newer image for eccube/mysql51:latest
アプリケーションのログイン方法
ログイン方法が分からないという人のために簡単にやり方を説明しておきます。
※Macアプリケーションが対象です。
インストールされているdockerは、デフォルトではfinderのヘッダメニューにアイコンが表示されているはずです。
次に「Sign in」を選択します。
表示されたダイアログに、usernameと登録したパスワードを入力してログイン。
メールアドレスでもログインできてしまいますが、登録してあるusernameでログインしないとダメです。
最後に、ログインされていることを確認して終了です。
usernameが分からなくなった人
Dockerのアカウント登録はしてあるものの、usernameがわからない人は、WEBページのサインインページへ移動して、「Forgot Password?」リンクをクリックして、メールでパスワード再発行を受け取りましょう。
http://hub.docker.com/sso/start
受け取った、メールの中に、usernameが書かれているので、それでログインすることができるはずです。
※赤い箇所に書かれています。
もしパスワードを忘れてしまっている人は、そのままパスワード再発行を行なうこともできます。
いつか将来修正されるかもしれませんが、「Dockerはメールではなく登録ユーザー名でのログイン」を徹底しましょう!!!
0 件のコメント:
コメントを投稿