docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown.
环境:Ubuntu16.04
虚机:docker,host1,host2
在虚机docker上安装了docker-machine之后,然后在虚机docker上通过docker-machine create命令给虚机host1和host2安装docker,结果在准备Overlay网络环境时,发现虚机host1与host2上的docker创建容器时总是报错,创建的容器总是处于created状态(docker状态没问题,docker ps 命令也能运行),但是虚机docker上的docker完全没问题。
上面那个报错是在执行命令docker run -it --name aa busybox时报的错
首先习惯性的上网搜解决方案,然后参考这篇博客https://www.cnblogs.com/lucky-heng/p/10575139.html说是docker版本与linux内核不兼容,但是我用uname -r命令查看这几个虚机的linux内核版本信息,发现都一样啊,所以排除这个错误原因
然后参考这篇博客https://www.cnblogs.com/d-homme/p/9357016.html说是文件权限的问题,增加可执行的权限就行了,然而并不是。。。
没得法,只好去看日志了
Docker创建容器失败:OCI runtime create failed问题排查

在Ubuntu 16.04上,使用Docker时遇到创建容器失败的问题,错误信息为'container_linux.go:346: starting container process caused "exec: "sh": executable file not found in $PATH"。尝试了更新Docker版本、解决文件权限、调整容器资源限制以及卸载重装Docker,最终通过重启虚拟机解决问题。
最低0.47元/天 解锁文章
1万+





