2017-11-15 1 views
1

그래서 나는 호출하는 스크립트를 실행하고 있습니다 :Windows에서 "도커 작성 실행"이 제대로 작동하지 않는 이유는 무엇입니까?

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

를 그리고 우분투를 실행할 때 잘 작동하는 것 같다하지만 힘내 배쉬를 사용하여 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 시도 호스트 쉘 (힘내 강타)를 피할 수

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

이 하나 ('/'로 시작하는) 절대 경로를 해석하는 Git 설치 경로에서.

컨테이너에서 실행 된 쉘에 전달할 인수로 /data/...을 유지합니다.


참고 : Docker for Windows를 사용하는 경우 (하지 버추얼하지만, 하이퍼 의미), 당신은 모든 git bash 필요하지 않습니다.

가 (Windows 용 부두 노동자가 당신을 위해 설정하는 당신의 %PATH%docker.exe)와 함께 정기적으로 CMD에서 같은 명령을 시도

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

이 같은 CMD 세션에서 리눅스와 같은 명령을해야하는 경우 다음 예, git path를 추가하십시오 :

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

관련 문제