Docker-exec 失败: “ cd”: 在 $PATH 中找不到可执行文件

我使用了这个命令:
docker exec compassionate_mclean cd /root/python
返回的错误是

Docker-exec: 未能执行 exec: exec: “ cd”: 未找到可执行文件 $路径

请帮帮我

74793 次浏览

cd is a built-in shell command, you can't set it as the command to run. You have to use:

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

If you want to see the output make sure to add the -i flag as shown above. In this case however, you can simply run python as your entrypoint:

docker exec -i compassionate_mclean python /root/python/myscript.py

You can't do that, you can do either docker exec -it my_container /bin/bash and then issue several commands with this interactive sessions, or docker exec -d my_container touch myfile if you just want to create a file, see the examples at https://docs.docker.com/reference/commandline/cli/#examples_3

If u execute docker container exec --help , it will show the options and method to execute the command Usage: docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]

U have to use docker container exec -it [container_name] bash

Once u are in bash then u can execute any command you wish. Doing CD wont work.

You can use the -w option of the 'docker exec'-command to set the working-folder as an absolute path in the container. But you would have to set it on every docker-call!

e.g.

docker exec -w /root/python compassionate_mclean python myscript.py