docker login / logout の使い方

レジストリにログインする

書き方

docker login レジストリ -u ユーザー --password-stdin
docker login レジストリ -u ユーザー -p パスワード
docker logout レジストリ

パスワードの要るレジストリに push・pull する前にログインします。記録は ~/.docker/config.json に残ります。-p はコマンドの履歴に残るので、--password-stdin でパイプから渡します。

よく使うオプション

オプション意味
-u ユーザーユーザー名
--password-stdinパスワードを標準入力から受け取る(履歴に残らない)
-p パスワードパスワードをそのまま書く(履歴に残るので避ける)

例

$ docker loginLogin Succeeded

Docker Hub にログインします。ユーザー名とパスワード(またはアクセストークン)を聞かれます。

$ cat pass.txt | docker login localhost:5000 -u captain --password-stdin

ファイルのパスワードをパイプで渡してログインします。コマンドの履歴にパスワードが残りません。

$ aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com

Amazon ECR にログインします。AWS CLI が一時的なパスワードを出し、それを docker login に渡します。

$ docker logoutRemoving login credentials for https://index.docker.io/v1/

Docker Hub のログインの記録を消します。ほかのレジストリは、後ろに場所を書きます。

よくある間違い・注意

  • ログインの情報は ~/.docker/config.json に残ります(何もしないと base64 で、読めば分かる形)。共有のサーバーでは使い終わったら logout します。
  • -p で打つと「Using --password via the CLI is insecure」と警告が出ます。--password-stdin を使います。

実際に打って練習する

Docker コースの Lv65「鍵付きの倉庫 docker login」で覚えます(第8章 港の守り(本番運用))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜7 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

Docker コマンド一覧(使い方と例)へ戻る