2017-11-15 5 views
1

だから私は呼び出すスクリプト実行しています:私の「ドッカーの作成」がWindowsで正しく動作しないのはなぜですか?

docker-compose run --rm web sh /data/bin/install_test_db.sh 

をとUbuntu上でそれを実行しているとき、正常に動作するようですが、私はGitのバッシュを使用してWindows上でそれを実行したときに、私はこのエラーを取得:

sh: 0: Can't open C:/Program Files/Git/data/bin/install_test_db.sh 

私のマシン上でスクリプトを実行しようとしているようですが、実際のコンテナではなく、それを呼び出そうとしています。

これはなぜ起こっているのですか?

docker-compose run --rm web sh -c "/data/bin/install_test_db.sh" 

または::

答えて

0

まず、passing a command to your sh shellしてみてください、あなたのホストのシェル(のgit bashのを)避けることができます

docker-compose run --rm web "sh -c /data/bin/install_test_db.sh" 

一つとして( '/' で始まる)絶対パスを解釈しますGitのインストールパスから。

これは、コンテナ内で実行されるシェルに渡される引数として/data/...を保持します。


注:(ないのVirtualBoxが、HyperVのを意味する)Docker for Windowsを使用している場合は、すべてでgit bashを必要としません。

あなたがその同じCMDセッションからのLinuxライクなコマンドが必要な場合は、はい、その後、(Windows用ドッカーがあなたのために設定あなたの%PATH%docker.exe、と)

[email protected] C:\Users\vonc 
> where docker 
C:\Program Files\Docker\Docker\Resources\bin\docker.exe 

通常のCMDから同じコマンドを試してみてください

set GH=C:\path\to\git 
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%PATH% 
+0

残念なことにシェルスクリプトを実行するにはgit bashを使う必要があります。あなたの "sh -c"を実行すると "sh:1:C:/ Program"というエラーが表示されます。 :見つからない " – G3tinmybelly

+0

@ G3tinmybelly単純な引用符ではなく二重引用符で試してみることはできますか? – VonC

関連する問題