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