Docker WARNING! Using
好久没更新博客了,今年整体行业不太乐观,在朋友的引荐下进了新的东家讨口饭吃,难得清静下来一个周末,好吧,废话不多说了,
今天更新了windows 的docker客户端docker-toolbox, 发现原来的docker login -u 用户名 -p 密码 使用不了。
这次更新的应该是最新版 src="https://img2020.cnblogs.com/blog/1102222/202005/1102222-20200516120635485-790546735.png" alt="">
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下可以添加系统环境变量,感兴趣的朋友大家可以试下。
No comments:
Post a Comment