2016-10-13 7 views
1

Docker環境の設定を自動化するためのWindows .batファイルを作成しようとしています。私の唯一の問題は、スクリプトを壊す "FOR"ループのように見えます。もちろん、ドッキングすることはありません。 2行目から最後の行までは、ドッカーのマシン出力とまったく同じで、問題なくCMDに貼り付けることで実行できます。 .bat経由で動作しない何らかの理由はありますか?ドッカーはWindowsのbatファイル経由で作成しますか?

@echo off 
docker-machine start 
docker-machine ip > hostname.txt 
set /p REN_RT_EXTERNAL_IP=<hostname.txt 
del hostname.txt 
echo Host-ip: %REN_RT_EXTERNAL_IP% 
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i 
call docker-compose up 

「この時点で予期しなかった」 (スクリプトなし)シェルに直接FORループを実行している、あなたは以下を使用することができるはず

+0

ありがとうございます。私は実際にそれを最初にしましたが、結果は同じでした。 –

答えて

2

- ちょうど%i@%iを置き換える:

FOR /f "tokens=*" %i IN ('docker-machine env') DO %i 

あなたは.batでこれを実行しているので、

FOR /f "tokens=*" %%i IN ('docker-machine env') DO %%i 

参考:https://github.com/docker/machine/issues/3023

ファイル、あなたはこのように、変数をエスケープするために、二重パーセント記号を使用する必要があります
+0

それでした!ありがとうございました!!! –

+0

よろしくお願いします! – nwinkler

関連する問題