运行命令,例如docker build
,docker ps
,docker pull
,docker images
都可以正常工作。现在,我想推送图像,因此,我当然必须先登录。
docker login
Error saving credentials: error storing credentials - err: exec: "docker-credential-desktop": executable file not found in %PATH
%, out: ``
docker login
工作正常。因此,我在/mnt/c/Users/<winusername>/.docker
和/home/<wslusername>/.docker
之间创建了一个符号链接。等效项对于.aws
来说很好用,但是对于.docker
来说,它无法共享甚至不确认凭据,因此它再次询问用户和密码,并抛出与上述相同的错误。
答案 0 :(得分:3)
这对我有用,
sudo ln -s /mnt/c/Program\ Files/Docker/Docker/resources/bin/docker-credential-desktop.exe /usr/bin/docker-credential-desktop.exe
将可执行文件从Windows路径链接到Linux路径,或者您可以在Linux PATH上添加Windows PATH。
答案 1 :(得分:0)
事实证明,Docker和WSL之间的集成比我想象的要好。虽然可以更好地记录下来。我打算改变方式,尝试在WSL中安装docker。因此,我摆脱了所有别名并重新启动了会话。瞧,当我运行docker
时,仍有东西在运行。
这是因为docker的边缘版本创建了适当的符号链接,现在我可以毫无问题地登录docker hub。