好久沒更新博客了,今年整體行業不太樂觀,在朋友的引薦下進了新的東家討口飯吃,難得清靜下來一個周末,好吧,廢話不多說了, 今天更新了windows 的docker客戶端docker-toolbox, 發現原來的docker login -u 用戶名 -p 密碼 使用不了。這次更新的應該是最新版:htt ...
好久沒更新博客了,今年整體行業不太樂觀,在朋友的引薦下進了新的東家討口飯吃,難得清靜下來一個周末,好吧,廢話不多說了,
今天更新了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下可以添加系統環境變數,感興趣的朋友大家可以試下。