1. ホーム
  2. docker

[解決済み] Dockerアカウントにログインできない

2022-05-05 05:29:37

質問

OS: Ubuntu 18.04 Server
Docker 18.3 CE

Windows 10 のノートパソコンから PuTTY SSH セッションを使用してサーバーにログインしています。

ローカルのWindowsノートパソコンにはDockerが入っていないので、すべての作業はリモートサーバーで行います。

ターミナルセッションを使用して、リモートサーバー上のすべてのDockerコマンドを実行できます。

しかし、Docker hubに画像を保存しようとしたとき、ログインしようとすると、using:

docker login

次のようなエラーメッセージが表示されます。

error getting credentials - err: exit status 1, out: `GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files`

リモートサーバーでイメージを作成したとき、エラーメッセージは表示されませんでした。

また、リモートサーバーの関連するホームディレクトリに.dockerフォルダが見当たりません。何か思い当たることはありますか?

解決方法は?

2019-04-07を編集しています。

これが現在選択されている回答なので、以下の@Anish Vargheseの解決策が最も簡単だと思われるので、まずこれを試してみるべきだと思います。 gnupg2 と pass パッケージをインストールするだけです。

<ブロッククオート

sudo apt インストール gnupg2 pass

もしうまくいかないようなら、ここで私のオリジナルの解決策を試してみてください。

bak2trakの回答はうまくいきましたが、認証情報を平文で保存していました。パスワードストアに保存したい場合の解決策はこちらです。

1) docker-credential-passを以下からダウンロードする。 https://github.com/docker/docker-credential-helpers/releases

2) tar -xvf docker-credential-pass.tar.gz

3) chmod u+x docker-credential-pass

4) mv docker-credential-pass /usr/bin

5) docker-credential-passを設定する必要があります(以下のステップは https://github.com/docker/docker-credential-helpers/issues/102#issuecomment-388634452 )

5.1) gpgをインストールし、パス( apt-get install gpg pass )

5.2) gpg --generate-key を入力します。このように表示されるはずです。

pub   rsa3072 2018-10-07 [SC] [expires: 2020-10-06]
      1234567890ABCDEF1234567890ABCDEF12345678

123...の行をコピーする

5.3) pass init 1234567890ABCDEF1234567890ABCDEF12345678 (ペースト)

5.4) pass insert docker-credential-helpers/docker-pass-initialized-check を設定し 次のパスワード "pass is initialized" (引用符なし)。

5.5) pass show docker-credential-helpers/docker-pass-initialized-check . パスが初期化されているのがわかるはずです。

5.6) docker-credential-pass list

6) ~/.docker/config.json を使って作成します。

{
"credsStore": "pass"
}

7) ドッカーログインができるようになりました

注意:もし、今後の実行で "pass store is uninitialized" というエラーが発生した場合は、以下のコマンドを実行してください(メモリ内のパスストアを再読み込みします)。

pass show docker-credential-helpers/docker-pass-initialized-check

パスワードが要求され、パスストアが初期化されます。

これは、今回の議論を踏まえてのことです。 https://github.com/moby/moby/issues/25169#issuecomment-431129898