Невозможно войти в учетную запись Docker - PullRequest
0 голосов
/ 03 мая 2018
OS: Ubuntu 18.04 Server
Docker 18.3 CE

Я вошел на сервер с моего ноутбука с Windows 10, используя сеанс PuTTY SSH.

У меня нет Docker на локальном ноутбуке с Windows, поэтому вся работа выполняется на удаленном сервере.

Я могу выполнять все команды Docker на удаленном сервере, используя сеанс терминала.

Однако, когда я пытаюсь сохранить свое изображение в Docker-концентраторе, когда я пытаюсь войти, используя:

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 в соответствующем домашнем каталоге на удаленном сервере. Есть идеи?

Ответы [ 4 ]

0 голосов
/ 12 марта 2019

Для меня docker push не удалось с

denied: requested access to the resource is denied

... поэтому я хотел docker login, но после ввода учетных данных получил следующее:

Remote error from secret service:
  org.freedesktop.DBus.Error.UnknownMethod:
  No such interface 'org.freedesktop.Secret.Collection' on object at path
  /org/freedesktop/secrets/collection/login

Error saving credentials:
  error storing credentials - err: exit status 1, out:
  No such interface 'org.freedesktop.Secret.Collection' on object at path
  /org/freedesktop/secrets/collection/login

К счастью, у меня была другая машина, на которой я мог войти без каких-либо изменений в системе. Я скопировал содержимое ~/.docker/config.json ...

{
        "auths": {
                "https://index.docker.io/v1/": {
                        "auth": "<some-hash-value>"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/18.09.2 (linux)"
        }
}

... на другой машине и docker push работал.

0 голосов
/ 18 октября 2018

Установите следующие пакеты в ubuntu исправили мою проблему

sudo apt install gnupg2 pass

0 голосов
/ 18 октября 2018

Изменить 2019-04-07:

Так как это выбранный в настоящее время ответ, я думаю, что люди должны сначала попробовать решение @Anish Varghese, приведенное ниже, так как оно кажется самым простым. Вам нужно только установить пакеты gnupg2 и pass:

sudo apt install gnupg2 pass

Если это не сработает, вы можете попробовать мое оригинальное решение здесь:

У меня была такая же проблема. Ответ bak2trak сработал, но он сохранил учетные данные в виде открытого текста. Вот решение, если вы хотите сохранить их в хранилище паролей.

1) Загрузить docker-credential-pass из https://github.com/docker/docker-credential-helpers/releases

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

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

4) Вам потребуется настроить docker-credential-pass (следующие шаги основаны на https://github.com/docker/docker-credential-helpers/issues/102#issuecomment-388634452)

4.1) установить gpg и пройти (apt-get install gpg pass)

4.2) gpg --generate-key, введите свои данные. Вы должны увидеть что-то вроде этого:

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

Скопируйте строку 123 ...

4,3) pass init 1234567890ABCDEF1234567890ABCDEF12345678 (паста)

4.4) pass insert docker-credential-helpers/docker-pass-initialized-check и установите следующий пароль "pass is initialized" (без кавычек).

4,5) pass show docker-credential-helpers/docker-pass-initialized-check. Вы должны увидеть, что проход инициализирован.

4.6) docker-credential-pass list

5) создать ~ / .docker / config.json с:

{
"credsStore": "pass"
}

6) Вход в Docker теперь должен работать

Примечание. Если в будущем будет выдано сообщение об ошибке «Хранилище паролей не инициализировано», выполните следующую команду (она перезагрузит хранилище паролей в памяти):

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

Он спросит ваш пароль и инициализирует хранилище пропусков.

Это основано на этом обсуждении: https://github.com/moby/moby/issues/25169#issuecomment-431129898

0 голосов
/ 28 мая 2018

Я столкнулся с той же проблемой в Ubuntu 18.08, и это, наконец, сработало для меня .. как временное решение.

Я создал эту папку home/.docker/, так как некоторые решения предложили мне создать файл config.json и записать в него учетные данные по умолчанию, т.е.

{
    "credsStore": "pass"
}
  • Я удалил этот файл config.json.
  • Затем переименуйте docker-credential-secretservice во что-то другое, чтобы он не забрал этот файл.

    sudo mv / usr / bin / docker-credential-secretservice / usr / bin / docker-credential-secretservice_x

и это сработало!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...