为什么docker login命令在我的计算机上保存未加密的密码?

为什么docker login命令在我的计算机上保存未加密的密码?,docker,docker-machine,Docker,Docker Machine,我使用了docker login命令并传递了我的凭据,我得到了警告警告:登录凭据保存在/Users/{my_username}/.docker/config.json中。我已经检查了那个文件,实际上我的密码是未加密的(仅base64编码) docker为什么不加密保存我的密码?它是不是应该保存在我的密钥链中(我在Mac OS上)或者不保存密码,而是生成一些访问令牌之类的东西?关于这一点有很多讨论: 它最终会得到修复,尽管还不清楚如何修复。请特别注意: 总而言之: 当然,事情需要解决 在这方面

我使用了
docker login
命令并传递了我的凭据,我得到了警告
警告:登录凭据保存在/Users/{my_username}/.docker/config.json
中。我已经检查了那个文件,实际上我的密码是未加密的(仅base64编码)

docker为什么不加密保存我的密码?它是不是应该保存在我的密钥链中(我在Mac OS上)或者不保存密码,而是生成一些访问令牌之类的东西?

关于这一点有很多讨论:

它最终会得到修复,尽管还不清楚如何修复。请特别注意:

总而言之:

  • 当然,事情需要解决
  • 在这方面有一个公开的努力(#分发),如果人们愿意,当然欢迎他们加入——不管是哪种方式,都是 这里的问题肯定是正在研究的
  • 我们应该寻求正确的解决方案——不仅仅是“尽快找到任何解决方案”——这需要时间和精力,但我有信心 我们会到达那里的

您可以为此目的使用凭据存储。这是Docker的官方文件:


是否可以在没有先前的
docker登录名的情况下运行命令?例如,通过将用户名/密码与特定命令一起传递?不,这也包含在该问题中。我认为该问题与解决方案之间的一个权宜之计是使用环境变量来存储Cred,就像对具有私有API密钥的web主机那样。