Chỉnh sửa 2019-04-07:
Vì đây là câu trả lời hiện được chọn, tôi nghĩ mọi người nên thử giải pháp @Anish Varghese bên dưới trước vì nó có vẻ là dễ nhất. Bạn chỉ cần cài đặt gói gnupg2 và vượt qua:
sudo apt install gnupg2 pass
Nếu nó không hoạt động, thì bạn có thể thử giải pháp ban đầu của tôi tại đây:
Tôi gặp vấn đề tương tự. Câu trả lời bak2trak đã hoạt động, nhưng nó lưu thông tin đăng nhập ở dạng văn bản rõ ràng. Đây là giải pháp nếu bạn muốn giữ chúng trong kho mật khẩu.
1) Tải xuống docker-credential-pass từ 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) Bạn sẽ cần thiết lập docker-credential-pass (các bước sau dựa trên https://github.com/docker/docker-credential-helpers/issues/102#issuecomment-388634452 )
5.1) cài đặt gpg và vượt qua (apt-get install gpg pass
)
5.2) gpg --generate-key
, nhập thông tin của bạn. Bạn sẽ thấy một cái gì đó như thế này:
pub rsa3072 2018-10-07 [SC] [expires: 2020-10-06]
1234567890ABCDEF1234567890ABCDEF12345678
Sao chép dòng 123 ...
5,3) pass init 1234567890ABCDEF1234567890ABCDEF12345678
(dán)
5,4) pass insert docker-credential-helpers/docker-pass-initialized-check
và đặt mật khẩu tiếp theo "pass được khởi tạo" (không có dấu ngoặc kép).
5.5) pass show docker-credential-helpers/docker-pass-initialized-check
. Bạn sẽ thấy vượt qua được khởi tạo.
5,6) docker-credential-pass list
6) tạo ~ / .docker / config.json với:
{
"credsStore": "pass"
}
7) đăng nhập docker bây giờ sẽ hoạt động
Lưu ý: Nếu bạn gặp lỗi "pass store is uninitialized" trong lần chạy sau này, hãy chạy lệnh dưới đây (nó sẽ tải lại pass store trong bộ nhớ):
pass show docker-credential-helpers/docker-pass-initialized-check
Nó sẽ hỏi mật khẩu của bạn và nó sẽ khởi tạo pass store.
Điều này dựa trên cuộc thảo luận này:
https://github.com/moby/moby/issues/25169#issuecomment-431129898
docker login
từ bên trong vùng chứa LXD / LXC. Vấn đề cụ thể đó tôi đã giải quyết bằng cách sao chép.docker/config.json
từ máy chủ của tôi qua$HOME/.docker/
thư mục của tôi trong vùng chứa LXD / LXC, mà tôi đã tạo theo cách thủ công. Tôi hiện đang cố gắng tìm ra một vấn đề khác, nhưng muốn hỏi bạn đã thử làm điều này chưa?