Docker Compose部署.NET Core控制台应用遇凭证存储错误求助
解决Docker Compose Build时的Credentials Store Error问题
你遇到的这个错误是Docker在尝试访问凭据存储工具时找不到对应的程序导致的,下面给你几个实用的解决办法:
方法一:配置docker-credential-wincred到系统PATH
- 如果你安装了Docker Desktop,默认在
C:\Program Files\Docker\Docker\resources\bin目录下就有docker-credential-wincred.exe;如果没有,确保你已经正确安装Docker Desktop,它会自带这个工具。 - 把这个目录添加到系统的
PATH环境变量中:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的Path里添加上述路径。 - 验证配置:打开新的命令行窗口,执行
docker-credential-wincred list,如果没有报错就说明配置成功了,之后重新运行docker-compose build即可。
方法二:禁用Docker凭据存储功能
如果暂时不需要凭据存储,可以直接关闭这个设置:
- 找到用户目录下的Docker配置文件,路径是
C:\Users\<你的用户名>\.docker\config.json。 - 打开文件后,找到
credsStore字段,将其删除或者注释掉,修改后的配置示例如下:
{ "auths": {}, // "credsStore": "wincred" }
- 保存文件后重启Docker服务,再执行
docker-compose build尝试构建。
方法三:重置Docker Machine环境
你之前通过eval $(docker-machine env default)解决了daemon连接问题,可能当前环境变量存在冲突,试试这个步骤:
- 关闭当前的命令行窗口,重新打开一个全新的窗口。
- 重新执行
eval $(docker-machine env default)来设置环境变量。 - 再次运行
docker-compose build,看是否还会出现错误。
另外提醒一下:你的Dockerfile里的ENTRYPOINT ["dotnet", "out/<project-name>.dll"],记得把<project-name>替换成你实际项目生成的dll文件名,不然容器启动时会找不到对应的程序文件哦。
内容的提问来源于stack exchange,提问作者t. YILMAZ
相关产品推荐
相关产品推荐

