1. ホーム
  2. docker

[解決済み】dockerがdockerレジストリサーバーに既にログインしているかどうかを知る方法

2022-04-17 20:29:56

質問

cmd lineでcmd: docker loginでdockerレジストリにログイン済みかどうかわかりません。プッシュを試さずに、ログインしているかどうかをテストしたり確認したりするにはどうしたらよいでしょうか。

解決方法は?

2020年の編集

を参照してください。 クローズド ) ギズーブ という問題があり、そこで指摘されるのは、実際のセッションや状態がないことです。

docker login は実際には永続的なセッションを作成しておらず、ユーザーの認証情報をディスクに保存して、認証が必要なときにそれを読み込んでログインできるようにしているだけです。

他の方が指摘されているように auths のエントリ/ノードが追加されます。 ~/.docker/config.json ファイル(これは プライベート のレジストリに登録します。

{
    "auths": {
            "https://index.docker.io/v1/": {}
    },
    ...

ログアウトすると、この項目は削除されます。

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

ドッカーの内容 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レジストリにログインしているかどうかを確認する方法