Muszę uruchomić aplikację z określonego katalogu.
$ 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
Ten katalog na pewno istnieje, a jeśli połączę się z dokerem, uruchamiając interaktywnie bash, mogę uruchomić powyższe polecenie.
$ sudo docker run -i -t ubuntu/decomposer /bin/bash
# cd /local/deploy/decomposer; ./decomposer-4-15-2014
Mogę uruchomić mój program, podając pełną ścieżkę, ale następnie ulega awarii, ponieważ oczekuje się, że zostanie uruchomiony z bieżącego katalogu. Co mogę zrobić?
/bin/sh -c
tak to zawija .Możesz użyć
-w
opcji, aby zmienić katalog roboczy.W twoim przypadku uruchomiłbyś:
źródło
-w
zdocker exec
? Szukam sposobu na uruchomienie skryptu python w moim kontenerze, ale nie mogę go zatrzymać poza kontenerem.flag provided but not defined: -w
Użyj WORKDIR w pliku Docker, aby ustawić katalog roboczy. Następnie możesz uruchomić polecenie za pomocą EXEC.
źródło
Może to wynikać z problemu z uprawnieniami lub instancja nie może znaleźć wykonywalnej dostępnej ścieżki. Aby to sprawdzić, dodaj ścieżkę do pliku wykonywalnego i spróbuj uruchomić skrypt
aby dodać bieżący katalog do ścieżki, użyj poniższej komendy
źródło