【环境篇】Docker 导出加载镜像提示 docker: Error response from daemon: OCI runtime

December 17, 2023
测试
测试
测试
测试
2 分钟阅读

背景介绍

编译制作好的Image导出加载另外的电脑的时候,提示错误如下 :

//导入镜像
docker import example.tar

//启动容器
docker run -it example:v20210119 /bin/bash

//报错信息如下 : 
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: 
starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown.

或者 :

docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: 
starting container process caused: exec: "/root/Start.sh": stat /root/Start.sh: no such file or directory: unknown

针对该问题的描述,大概Google下,网上大部分有两种派系的解释 :

左派系

  • 制作的进行中没有 /bin/bash,尝试/bin/sh,结果问题依旧

右派系

  • Linux 与docker版本的兼容性问题。那就卸载旧版本安装最新版试试。

左派系的解决方案很容易验证,反复验证,问题依旧没有解决,俗称旁门左道。

右派系的解决方案有点很难验证,不过直觉告诉我,应该不是这样的问题

果然看到了感觉正确的答案,仔细看看,简短的描述,快速的验证,问题就这样解决了。

Docker运行出现这个错误保存镜像使用的保存方式不同导致的, 如果是使用import导入的镜像,应该注意是:import可以导入save保存的镜像包和export保存的容器包。但是如果导入的是save保存的镜像包,导入时没有错。但是run运行时就会出此错误。 所以可以尝试使用load再次导入镜像。

  1. 解决方案
docker load < buildroot_v20210119.tar

参考

  • Docker - 实现本地镜像的导出、导入(export、import、save、load)
  • container_linux.go:345:starting container process caused "exec:
  • docker load与docker import

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多