Docker WARNING! Using --password via the CLI is insecure. Use --password-stdin
好久没更新博客了,今年整体行业不太乐观,在朋友的引荐下进了新的东家讨口饭吃,难得清静下来一个周末,好吧,废话不多说了,
今天更新了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 login命令,可以将 --password-stdin标志设置为通过STDIN提供密码。使用STDIN可以防止密码出现在shell的历史记录或日志文件中。
以下示例从文件读取密码(比如我的密码写在C:\Users\77293\password.txt),然后使用STDIN将其传递给docker login命令:
cat ~/password.txt | docker login --username 用户名--password-stdin https://xxx.com(docker仓库)
结果TM又报错了
error getting credentials - err: exec: "docker-credential-wincred": executable file not found in %PATH%, out: ``
解决: 修改配置文件 : $HOME/.docker/config.json 将wincred相关的键值对删掉,就可以了
vim $HOME/.docker/config.json
比如我这里的是直接删除 :"credsStore": "wincred", 保存,重新登录。
除了以上登录方式,还可以这样登录:
docker login --username 用户名--password-stdin < ~/password.txt https://xxx.com
再介绍一种环境变量的登录方式,以下示例从变量读取密码,然后使用STDIN将其传递给docker login命令:
echo "$PASSWORD" | docker login --username foo --password-stdin
linux下可以通过/etc/profile 设置 PASSWORD变量,windows下可以添加系统环境变量,感兴趣的朋友大家可以试下。
无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。