Windows 如何临时禁用wincred提供程序以进行docker登录?

Windows 如何临时禁用wincred提供程序以进行docker登录?,windows,docker,Windows,Docker,我需要在纯文本的凭据,但docker登录似乎存储在windows的默认cred供应商现在他们。我知道它被修改以使其更安全,但我更需要一个纯文本配置文件 这确实令人沮丧,因为似乎没有文档说明如何更改cred提供者或更改回纯文本 它生成的docker配置文件没有任何密钥,它只有以下内容: { "auths": { "gcr.io": {} }, "HttpHeaders": { "User-Agent": "Docker-Client/17.0

我需要在纯文本的凭据,但docker登录似乎存储在windows的默认cred供应商现在他们。我知道它被修改以使其更安全,但我更需要一个纯文本配置文件

这确实令人沮丧,因为似乎没有文档说明如何更改cred提供者或更改回纯文本

它生成的docker配置文件没有任何密钥,它只有以下内容:

{
    "auths": {
        "gcr.io": {}
    },
    "HttpHeaders": {
        "User-Agent": "Docker-Client/17.09.0-ce (windows)"
    },
    "credsStore": "wincred"
}
如何临时禁用此功能,以便获得可以使用的配置?

这很愚蠢,但我通过重命名提供程序本身“解决”了此问题,使docker登录无法找到它:

"C:\Program Files\Docker\Docker\Resources\bin\docker-credential-wincred.exe"
如果重命名exe并运行login失败,那么如果再次运行它,它将成功并在config.json中以纯文本形式输出密钥

必须有一种简单的方法来选择您想要使用的提供者,或者返回到纯文本而不这样做,但是文档。。。糟透了


如果没有人发布正确的方法,我会将此标记为答案。

如果您已启用,则可以使用
wsl docker--config。登录
在当前目录中存储纯文本
config.json

丑陋,但功能正常。就我所见,
credstore
没有使用config.json文件的特定值。也许设置
“credsStore”:“foobar”
也可以工作,而无需修改docker安装(只要docker登录没有“有益地”覆盖到
wincred
)OMG。这确实有效。删除“CredStore”并重命名exe文件。这是唯一的方法。关键是您必须重命名exe文件并从配置中删除credStore条目,否则会重新创建credStore条目,或者出现错误,无法找到eincred可执行文件。