Изменить 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