1 docker login 失败

1.1 Q1:

Error saving credentials: error storing credentials - err: exec: “docker-credential-desktop.exe”: executable file not found in $PATH, out:

vim /root/.docker/config.json
“credsStore”: “desktop.exe”,
~/.docker/config.json change credsStore to credStore 相当于不适用加密存储

“credsStore”: “secretservice” 相当于使用 docker-credential-secretservice
与这个命令效果相同:ln -s /usr/bin/docker-credential-secretservice /usr/bin/docker-credential-desktop.exe

A:未验证
sudo ln -s /mnt/c/Program\ Files/Docker/Docker/resources/bin/docker-credential-desktop.exe /usr/bin/docker-credential-desktop.exe

来自 https://stackoverflow.com/questions/59271429/sharing-docker-credentials-between-window-and-wsl

1.2 Q2:

root@DESKTOP-WINDOWS:~# docker login -u zhangsan
Password:
** Message: 12:25:28.306: Remote error from secret service: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files
Error saving credentials: error storing credentials - err: exit status 1, out: The name org.freedesktop.secrets was not provided by any .service files

A:未验证
解决方案是安装 gnome-keyring 包。存疑,安装的包太多了。

apt install gnome-keystring

wget https://github.com/docker/docker-credential-helpers/releases/download/v0.6.4/docker-credential-secretservice-v0.6.4-amd64.tar.gz

tar -xf docker-credential-secretservice-v0.6.4-amd64.tar.gz && chmod +x docker-credential-secretservice
mv docker-credential-secretservice /usr/local/bin/

来自 https://blog.csdn.net/sinat_33384251/article/details/94037942

最终解决办法:

vim /root/.docker/config.json
“credsStore”: “pass”
apt install gnupg2 pas

$ gpg –gen-key
用户名=uid=gpg-id
#建的密钥对会存储在~/.gnupg目录中
$ pass init 《gpg-id》
该命令会在~/.password-store目录中创建一个密码仓库。
docker login -u zhangsan
password:
Login Succeeded