很久沒更新博客了,今年總體行業不太樂觀,在朋友的引薦下進了新的東家討口飯吃,可貴清靜下來一個週末,好吧,廢話很少說了,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