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 SucceededDocker 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 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。