疑难杂症:使用docker_exec_-it_bash的时候报错是什么原因?

想修改docker 容器里面的文件,使用exec命令的时候莫名的进不去。出现报错!

OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused “exec: \”bash\”: executable file not found in $PATH”: unknown

运行环境 Runtime environment

1
2
3
操作系统 : Ubuntu18.04  
IDE: JetBrains Pycharm 2019.2.4 x64
Python: 3.6.9

症状

查询当前docker进程,用来查看容器ID

docker ps

exec 命令进入容器内部进行修改

docker exec -it 容器ID /bin/bash

发生报错

1
OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown

解决办法

很多镜像底层系统用的精简版的可能没有bash,换成sh。
就算精简版的docker镜像一般也会有sh,而bash不一定会有。

docker exec -it 容器ID sh

总结

运行exec命令的时候记得加上容器ID别写漏了。
命令最后一个bash参数可以在做一些尝试:

/usr/bin/bash

/bin/bash

bash

sh

总会有成功的,因为封装docker的人你并不知道他是怎么封装的,所以就猜呗。

×

也就放着玩的

扫码支持
扫码打赏,其实感觉也没人会给的。。

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 运行环境 Runtime environment
  • 症状
  • 解决办法
  • 总结
  • ,