Docker WARNING! Using --password via the CLI is insecure. Use --password-stdin

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

相關文章
相關標籤/搜索