Ошибка docker-exec: cd: исполняемый файл не найден в $ PATH

Я использовал эту команду:
docker exec compassionate_mclean cd /root/python
Возвращенная ошибка:

docker-exec: не удалось выполнить: exec: «cd»: исполняемый файл не найден в $ PATH

Пожалуйста, помогите мне


person sabarish    schedule 20.01.2015    source источник


Ответы (3)


cd — это встроенная команда оболочки, вы не можете установить ее как команду для запуска. Вы должны использовать:

docker exec -i compassionate_mclean bash -c "cd /root/python && python myscript.py"

Если вы хотите увидеть вывод, обязательно добавьте флаг -i, как показано выше. Однако в этом случае вы можете просто запустить python в качестве точки входа:

docker exec -i compassionate_mclean python /root/python/myscript.py
person Abdullah Jibaly    schedule 20.01.2015
comment
Но после этой команды мне нужно запустить скрипт Python, расположенный в этом каталоге. Как мне это сделать? - person sabarish; 20.01.2015
comment
Но я не могу остановить скрипт с помощью Ctrl + C в своем локальном ящике, верно? Потому что bash -c будет запускать другую дочернюю оболочку, которую я не могу использовать вне контейнера докеров. - person zx1986; 27.11.2015

Вы не можете этого сделать, вы можете сделать либо docker exec -it my_container /bin/bash, а затем выполнить несколько команд с этим интерактивным сеансом, либо docker exec -d my_container touch myfile, если вы просто хотите создать файл, см. примеры на https://docs.docker.com/reference/commandline/cli/#examples_3

person user2915097    schedule 20.01.2015

Если вы выполните docker container exec --help , он покажет параметры и метод для выполнения команды. Использование: docker container exec [ОПЦИИ] КОМАНДА КОНТЕЙНЕРА [АРГ...]

Вы должны использовать docker container exec -it [container_name] bash

Когда вы находитесь в bash, вы можете выполнить любую команду, которую пожелаете. Делать CD не получится.

person whysoseriousson    schedule 28.10.2018