Docker WARNING! Using --password via the CLI is insecure. Use --password-stdin

很久没更新博客了,今年总体行业不太乐观,在朋友的引荐下进了新的东家讨口饭吃,可贵清静下来一个周末,好吧,废话很少说了,linux

今天更新了windows 的docker客户端docker-toolbox, 发现原来的docker login -u 用户名 -p 密码 使用不了。
此次更新的应该是最新版:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 安装滴DockerToolbox-18.03.0-ce.exe  docker

 DOCKER文档是这样描述滴:shell

要以非交互方式运行docker login命令,能够将 --password-stdin标志设置为经过STDIN提供密码。使用STDIN能够防止密码出如今shell的历史记录或日志文件中。

如下示例从文件读取密码(好比个人密码写在C:\Users\77293\password.txt),而后使用STDIN将其传递给docker login命令:json

cat ~/password.txt | docker login --username 用户名--password-stdin  https://xxx.com(docker仓库)

结果TM又报错了vim

error getting credentials - err: exec: "docker-credential-wincred": executable file not found in %PATH%, out: ``

解决: 修改配置文件 :     $HOME/.docker/config.json 将wincred相关的键值对删掉,就能够了windows

vim $HOME/.docker/config.json 

好比我这里的是直接删除 :"credsStore": "wincred", 保存,从新登陆。
spa

除了以上登陆方式,还能够这样登陆:日志

docker login --username 用户名--password-stdin < ~/password.txt https://xxx.com

再介绍一种环境变量的登陆方式,如下示例从变量读取密码,而后使用STDIN将其传递给docker login命令:code

echo "$PASSWORD" | docker login --username foo --password-stdin

linux下能够经过/etc/profile 设置 PASSWORD变量,windows下能够添加系统环境变量,感兴趣的朋友你们能够试下。blog

相关文章
相关标签/搜索