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下可以添加系統環境變量,感興趣的朋友大家可以試下。


 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章