Редагувати 2019-04-07:
Оскільки це обрана на даний момент відповідь, я думаю, що спочатку людям слід спробувати рішення @Anish Varghese, оскільки воно здається найпростішим. Вам потрібно лише встановити пакети gnupg2 та передати:
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
і встановіть наступний пароль "пропуск ініціалізований" (без лапок).
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, який я створив вручну. Зараз я намагаюся з’ясувати інше питання, але хотів би запитати, чи не намагались ви це робити?