docker がすでに docker レジストリ サーバーにログインしているかどうかを確認する方法 質問する

docker がすでに docker レジストリ サーバーにログインしているかどうかを確認する方法 質問する

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 レジストリにログインしているかどうかはどうすればわかりますか

おすすめ記事