$ docker exec -it containerID /bin/bash python main.py action
/usr/local/bin/python: /usr/local/bin/python: cannot execute binary file本文地址:http://www.04007.cn/article/1063.html,未经许可,不得转载.
字面上的报错理解:不能执行二进制文件。docker exec <containerID>表示在容器中执行命令,具体要在容器中执行什么命令由后面的参数决定的。可以是/bin/bash,也可能是python,也可能是php,但上面写的是使用sh脚本去执行python文件,所以报错不能执行二进制文件。exec是用来让已经运行的容器再运行一个command以外的程序,具体是bash还是sh还是python取决于这个容器的镜像里面有什么服务和你的需要。本文地址:http://www.04007.cn/article/1063.html,未经许可,不得转载.
docker中正常执行shell脚本的命令本文地址:http://www.04007.cn/article/1063.html,未经许可,不得转载.
docker exec -it containerID /bin/bash -c "pwd"docker exec -it containerID /bin/bash -c "echo $PATH"
docker exec -it containerID /bin/bash -c "pwd"
#执行其它的脚本直接使用脚本执行命令文件即可
docker exec task_server python main.py action
docker exec task_server php index.py function本文地址:http://www.04007.cn/article/1063.html,未经许可,不得转载.
除此之外,在使用命令 docker exec -it containerID /bin/bash 在有些情况下会报出如OCI runtime exec failed: exec failed: container_linux.go:337: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown的错误,这个错误说明镜像不适用bash命令,可能你的镜像基于其它的shell,比如tcsh、csh、ksh、zsh等。这时可以直接使用如下命令进入容器。本文地址:http://www.04007.cn/article/1063.html,未经许可,不得转载.
docker exec -it containerID /bin/sh本文地址:http://www.04007.cn/article/1063.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |