ファイルの内容をにロードしようとしましたが、のコマンドを起動している間に、パスワードのような機密データが表示されないようにしています。。makefileタスクのファイル内容からビルドコマンド
このコマンドは、変数の置換を行わずに実行すると機能します。私はドッカーレジストリにdocker login
を実行しようとしていますが、理論上これは関係がありません。以下の方法は、docker
コマンドだけでなく、どのコマンドでも使用できます。
私はとバッククォートを`またはそのような何か" 私は二重引用符の組み合わせで台無しと思うが、私はこの作業を取得する方法を見つけることができません。
これまでのところ、
:私のようなものも、異なるものを試してみたREGISTRY_PSW_FILE=./volume/conf/docker-registry.conf
REGISTRY_PSW=`cat $(REGISTRY_PSW_FILE)`
REGISTRY_LOGIN_COMMAND=docker login my-own-registry.something.com -u myRegistryUsr -p $(REGISTRY_PSW)
docker-push:
@echo -e "\n\n\nPushing the docker image to the registry"
@echo -e "stuff: $(REGISTRY_PSW)"
@echo -e "more stuff: $(REGISTRY_LOGIN_COMMAND)"
$(REGISTRY_LOGIN_COMMAND)
@echo "DONE"
:bashの/ GNU-メイクの組み合わせとして、このmakefile
コンテンツと運ない何0
か、直接cat
コマンドを使用して、この1:
REGISTRY_LOGIN_COMMAND=docker login my-own-registry.something.com -u myRegistryUsr -p `cat $(REGISTRY_PSW_FILE)`
しかし、私のような別のエラー得続ける:makefile
タスクIで
flag needs an argument: 'p' in -p \n See 'docker login --help'.
Error response from daemon: login attempt to https://my-own-registry.something.com/v2 failed with status: 401 Unauthorized
を使用していますとにかくこのようなecho
とeval
の組み合わせを使用していても、(echo
のような)コマンドの出力にパスワードを表示しないようにしようとしているので、すぐに(eval
+ echo
の組み合わせではない) @eval "echo -e $(REGISTRY_LOGIN_COMMAND)"
同様の出力エラーではまだ動作しません。
私は、GNUのmakeの次のバージョンでcygwinのを使用しています:私は間違って何をやっている
$ make -v
GNU Make 4.2.1
Built for x86_64-unknown-cygwin
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
?
:)私は、エラーを見ていますおかげで '言っ./run_docker:行1:は/ dev /ヌル/:ディレクトリではありませんが、 '' docker login'コマンドをbashスクリプトに入れて 'Makefile'のような' 。/ volume/conf/docker-registry.sh'と入力します。ログインが成功すると、出力にパスワードが表示されないので、今のところ問題ありません。同じ 'Makefile'タスクでは、画像にタグを付けることにしました。パスワードを分けるログインスクリプトを微調整することはできますが、それは問題ありません。 – TPPZ