如何阻止docker尝试保存我的凭据?
默认情况下,如何阻止docker尝试保存我的凭据?,docker,Docker,默认情况下,docker login存储我的凭据 %HOMEPATH%/.docker/config.json中有一个名为“credstore”的属性,允许您选择要使用的凭据管理器。 例如,“CredStore”:“wincred”将使用Windows凭据管理器 从配置文件中完全删除credstore,并不会像预期的那样阻止docker尝试存储凭据;相反,它以明文形式存储我的敏感秘密 我希望它每次都提示我输入用户名/密码。 每次。 如何阻止docker尝试保存我的凭据 这不是docker CLI
docker login
存储我的凭据
%HOMEPATH%/.docker/config.json
中有一个名为“credstore”的属性,允许您选择要使用的凭据管理器。例如,
“CredStore”:“wincred”
将使用Windows凭据管理器
从配置文件中完全删除credstore
,并不会像预期的那样阻止docker尝试存储凭据;相反,它以明文形式存储我的敏感秘密
我希望它每次都提示我输入用户名/密码。每次。
如何阻止docker尝试保存我的凭据 这不是docker CLI的选项 CLI本身是docker引擎API的前端,因此您可以编写自己的客户端来实现这一点。如果你真的想要这个功能,我将把它作为练习留给读者 您还可以从装载套接字的临时容器内部执行这些操作,以便在容器退出时销毁所有登录凭据,例如
docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock docker /bin/sh -c "docker login && docker push ..."
或者,您可以编写一个登录/注销命令来包装您的docker push
,但您需要避免竞争条件。e、 g
#!/bin/sh
docker login
docker push "$@"
docker logout
调用该脚本
docker push
并运行该脚本,而不是docker push
,您可以使用keychain或pass
密码管理器作为替代选项。我不想使用它们或任何其他密码管理器。您也可以使用docker注销
(响应已删除的注释)。注销应清除~/.docker/config.json
中的凭据。如果桌面环境将凭据存储在凭据管理器中,则可能会添加清除该项的步骤。如果您还没有,我建议您使用Docker Hub的2fa和令牌,而不是您的密码登录Docker
。您可以为每个位置使用不同的令牌,它只允许访问推/拉,而不允许访问网站。