특정 디렉토리에서 응용 프로그램을 실행해야합니다.
$ sudo docker run -P ubuntu/decomposer 'cd /local/deploy/decomposer; ./decomposer-4-15-2014'
2014/10/09 21:30:03 exec: "cd /local/deploy/decomposer; ./decomposer-4-15-2014": stat cd /local/deploy/decomposer; ./decomposer-4-15-2014: no such file or directory
그 디렉토리는 분명히 존재하며 bash를 대화식으로 실행하여 docker에 연결하면 위의 명령을 실행할 수 있습니다.
$ sudo docker run -i -t ubuntu/decomposer /bin/bash
# cd /local/deploy/decomposer; ./decomposer-4-15-2014
전체 경로를 지정하여 프로그램을 실행할 수 있지만 현재 디렉토리에서 시작될 것으로 예상되면 충돌합니다. 내가 무엇을 할 수 있을지?
답변
다음과 같이 명령을 / bin / sh에 인수로 전달하십시오.
sudo docker run -P ubuntu/decomposer /bin/sh -c 'cd /local/deploy/decomposer; ./decomposer-4-15-2014'
답변
-w
옵션을 사용하여 작업 디렉토리를 변경할 수 있습니다 .
docker run
-w, --workdir="" Working directory inside the container
따라서 귀하의 경우 다음을 실행합니다.
sudo docker run -w /local/deploy/decomposer -P ubuntu/decomposer ./decomposer-4-15-2014
답변
Dockerfile에서 WORKDIR을 사용하여 작업 디렉토리를 설정하십시오. 그런 다음 EXEC로 명령을 실행할 수 있습니다.
답변
권한 문제로 인해 또는 인스턴스가 실행 가능한 사용 가능한 경로를 찾지 못할 수 있습니다. 이것을 확인하려면 실행 가능한 경로를 경로에 추가하고 스크립트를 실행하십시오.
경로에 현재 디렉토리를 추가하려면 아래 명령을 사용하십시오.
$ export PATH=$PATH: