docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting cont

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: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting cont_第1张图片

首先看到这个错误level=error msg="stream copy error: reading from a closed fifo",之前没遇到过,由于本人没多少看日志调错误的经验,所以上网搜答案喽。。。

参考这篇博客https://www.cnblogs.com/edenlong/p/10972876.html,跟着博主的调试步骤,首先看是不是docker 容器设置limits太低,然后搜资料看怎么设置limits,参考这两篇博客https://blog.csdn.net/weiguang1017/article/details/77646378 和https://blog.csdn.net/lindao99/article/details/79983777我排除了这个错误原因。。。

换一个错误看看?cleanup: failed to delete container from containerd: no such container"

搜了一下感觉也不能解决。。。这三台虚机的docker的版本信息都是一样的,没得法,那就把host2上的docker卸载重装试试,关于docker的卸载可以参考这篇博客https://blog.csdn.net/lyc0424/article/details/103457808,以防卸载的不干净。关于ubuntu下安装docker可以参考一下这篇博客https://blog.csdn.net/lyc0424/article/details/103457768

卸载重装之后记得要重启一下虚拟机,因为博主试过,不重启还是会报错。。。

再次运行类似的命令就不会报错了,这个问题终于解决了。。。

如果有什么说的不对的地方,欢迎各位不吝指正! 

你可能感兴趣的:(docker)