私は魚を ドッカーマシン 魚の殻の中にドッカーのクライアントがいます。走れる docker-machine config dev
それは私に渡すパラメータを与えるだろう docker
。しかし、私がそれをやろうとしたとき docker (docker-machine config dev) ps
それは言うだろう flag provided but not defined: --tls --tlscacert
私のシェルをbashに切り替えたら docker $(docker-machine config dev) ps
正常に動作します。では、ここでの構文はどういう意味ですか?
私は答えを求めてグーグルで試してみましたが、そのエラーはGoに関連しているようです。
ドッカーバージョン1.5.0、ビルドa8a31ef
魚、バージョン2.1.1
編集: ここでの出力は次のとおりです。 docker-machine config dev
--tls --tlscacert=/Users/me/.docker/machine/machines/dev/ca.pem --tlscert=/Users/me/.docker/machine/machines/dev/cert.pem --tlskey=/Users/me/.docker/machine/machines/dev/key.pem -H="tcp://192.168.99.102:2376"
回答:
回答№1の場合は3あなたは走っています この問題.
簡単な答えは、bashはコマンド置換を任意の空白の別々の引数に分割し、魚は改行のみで分割することです。以来 docker-machine config dev
改行を出力しません。外側 docker
コマンドはちょうど1つの巨大な議論を、埋め込まれたスペースで得る。
bashの動作をシミュレートするには、スペースを改行で置き換えることができます:
docker (docker-machine config dev | tr -s " " n) ps
それはあなたが望むことをするはずです。