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