web-dev-qa-db-fra.com

Docker: L'utilisation de --password via la CLI n'est pas sécurisée. Utilisez --password-stdin

J'ai cette erreur lorsque je me connecte pendant un processus de CI: 

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

Devrais-je simplement remplacer "--password" par "--password-stdin '?

5
Dimitri Kopriwa

Selon docker documentation:

Pour exécuter la commande de connexion de docker de manière non interactive, vous pouvez définir le paramètre --password-stdin drapeau pour fournir un mot de passe via STDIN. En utilisant STDIN empêche le mot de passe de se retrouver dans l’historique du shell, ou fichiers de log.

Les exemples suivants lisent un mot de passe à partir d'un fichier et le transmettent à la commande docker login à l'aide de STDIN:

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

ou

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

L'exemple suivant lit un mot de passe à partir d'une variable et le transmet à la commande docker login à l'aide de STDIN:

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

La même commande echo sur un système Windows (ou lors de l'exécution d'une tâche Azure Pipelines basée sur vs2017-win2016) génère également un newline supplémentaire.

Une solution de contournement pour utiliser set /p, voir aussi question + réponse .

La commande complète sera comme:
echo | set /p="my_password" | docker login --username foo --password-stdin

0
Stef Heyenrath