Изменить 2019-04-07:
Поскольку это выбранный в настоящее время ответ, я думаю, что люди должны сначала попробовать решение @Anish Varghese ниже, поскольку оно кажется самым простым. Вам нужно только установить gnupg2 и передать пакеты:
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) 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
и установить следующий пароль «проход инициализирован» (без кавычек).
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 show docker-credential-helpers/docker-pass-initialized-check
Он запросит ваш пароль и инициализирует хранилище пропусков.
Это основано на этом обсуждении:
https://github.com/moby/moby/issues/25169#issuecomment-431129898
docker login
из контейнера LXD / LXC. Эту проблему я решил, скопировав.docker/config.json
с моего хоста в свой$HOME/.docker/
каталог в контейнере LXD / LXC, который я создал вручную. Сейчас я пытаюсь решить другую проблему, но хотел спросить, пробовали ли вы это сделать?