cmd: docker login を使用して、コマンド ラインで docker レジストリにすでにログインしているかどうかわかりません。プッシュを試みずに、ログインしているかどうかをテストまたは確認するにはどうすればよいですか?
ベストアンサー1
編集 2020
(閉じた)に戻るとギットハブ問題が指摘されている場所には、実際のセッションや状態はありません。
docker loginは実際には永続的なセッションを作成しているわけではなく、認証が必要なときにログインするために読み取ることができるように、ユーザーの資格情報をディスクに保存しているだけです。
他の人が指摘しているように、ログインに成功すると、auths
エントリ/ノードがファイルに追加されます(これはプライベート~/.docker/config.json
レジストリでも機能します)。
{
"auths": {
"https://index.docker.io/v1/": {}
},
...
ログアウトすると、このエントリは削除されます。
$ docker logout
Removing login credentials for https://index.docker.io/v1/
後のdockerの内容config.json
:
{
"auths": {},
...
このファイルをスクリプトまたはコードで解析して、ログイン ステータスを確認できます。
代替方法(再ログイン)
dockerにログインするにはdocker login <repository>
$ 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:
すでにログインしている場合は、プロンプトは次のようになります。
$ 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 (myusername): # <-- "myusername"
の元の説明については~/.docker/config.json
、質問: プライベート Docker レジストリにログインしているかどうかはどうすればわかりますか