web-dev-qa-db-ja.com

Docker:CLIを介した--passwordの使用は安全ではありません。 --password-stdinを使用する

CIプロセス中にログインすると、次のエラーが発生します。

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

「--password」を「--password-stdin」に置き換える必要がありますか?

19
Dimitri Kopriwa

docker ドキュメントによると:

Docker loginコマンドを非対話的に実行するには、--password-stdinフラグを設定して、STDINを介してパスワードを提供できます。 STDINを使用すると、パスワードがシェルの履歴またはログファイルに記録されなくなります。

次の例では、ファイルからパスワードを読み取り、STDINを使用してdocker loginコマンドに渡します。

$ cat ~/my_password.txt | docker login --username foo --password-stdin

または

$ docker login --username foo --password-stdin < ~/my_password

次の例では、変数からパスワードを読み取り、STDINを使用してdocker loginコマンドに渡します。

$ echo "$MY_PASSWORD" | docker login --username foo --password-stdin
38
Nickolay

Windowsベースのシステムで(またはvs2017-win2016に基づくAzure Pipelinesタスクで実行している場合)同じechoコマンドは、追加のnewline

set /pを使用するための回避策は、 question + answer も参照してください。

完全なコマンドは次のようになります。
echo | set /p="my_password" | docker login --username foo --password-stdin

4
Stef Heyenrath