疑难杂症:使用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 | 操作系统 : Ubuntu18.04 |
症状
查询当前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的人你并不知道他是怎么封装的,所以就猜呗。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 快乐咸鱼のRaXianch窝!
评论
WalineValine